1 Remove the descriptor swap, as the driver already configures the hardware for
2 descriptor swapping on big endian systems
4 Signed-off-by: Felix Fietkau <nbd@openwrt.org>
6 --- a/drivers/net/wireless/ath9k/core.c
7 +++ b/drivers/net/wireless/ath9k/core.c
9 memzero(dd, sizeof(*dd));
13 - * Endian Swap for transmit descriptor
15 - * XXX: Move cpu_to_le32() into hw.c and anywhere we set them, then
18 -void ath_desc_swap(struct ath_desc *ds)
20 - ds->ds_link = cpu_to_le32(ds->ds_link);
21 - ds->ds_data = cpu_to_le32(ds->ds_data);
22 - ds->ds_ctl0 = cpu_to_le32(ds->ds_ctl0);
23 - ds->ds_ctl1 = cpu_to_le32(ds->ds_ctl1);
24 - ds->ds_hw[0] = cpu_to_le32(ds->ds_hw[0]);
25 - ds->ds_hw[1] = cpu_to_le32(ds->ds_hw[1]);
31 --- a/drivers/net/wireless/ath9k/beacon.c
32 +++ b/drivers/net/wireless/ath9k/beacon.c
34 series[0].RateFlags = (ctsrate) ? HAL_RATESERIES_RTS_CTS : 0;
35 ath9k_hw_set11n_ratescenario(ah, ds, ds, 0,
36 ctsrate, ctsduration, series, 4, 0);
38 - /* NB: The desc swap function becomes void,
39 - * if descriptor swapping is not enabled
44 /* Move everything from the vap's mcast queue to the hardware cab queue.
45 --- a/drivers/net/wireless/ath9k/core.h
46 +++ b/drivers/net/wireless/ath9k/core.h
48 void ath_descdma_cleanup(struct ath_softc *sc,
49 struct ath_descdma *dd,
50 struct list_head *head);
51 -void ath_desc_swap(struct ath_desc *ds);
55 --- a/drivers/net/wireless/ath9k/xmit.c
56 +++ b/drivers/net/wireless/ath9k/xmit.c
58 AH_TRUE, /* first segment */
59 (n_sg == 1) ? AH_TRUE : AH_FALSE, /* last segment */
60 ds); /* first descriptor */
64 bf->bf_ht = txctl->ht;