Skip to contentSkip to conversation

ath9k: fix DMA descriptor access on big-endian

PATCH In review Felix Fietkau 1 participant 1 message Jul 20, 2008 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 5/5 ath9k: fix DMA descriptor access on big-endian

Remove the descriptor swap, as the driver already configures the hardware for descriptor swapping on big endian systems

---

drivers/net/wireless/ath9k/core.c +0 -16
@@ -2141,22 +2141,6 @@
 	memzero(dd, sizeof(*dd));
 }
 
-/*
- *  Endian Swap for transmit descriptor
- *
- * XXX: Move cpu_to_le32() into hw.c and anywhere we set them, then
- * remove this.
-*/
-void ath_desc_swap(struct ath_desc *ds)
-{
-	ds->ds_link = cpu_to_le32(ds->ds_link);
-	ds->ds_data = cpu_to_le32(ds->ds_data);
-	ds->ds_ctl0 = cpu_to_le32(ds->ds_ctl0);
-	ds->ds_ctl1 = cpu_to_le32(ds->ds_ctl1);
-	ds->ds_hw[0] = cpu_to_le32(ds->ds_hw[0]);
-	ds->ds_hw[1] = cpu_to_le32(ds->ds_hw[1]);
-}
-
 /*************/
 /* Utilities */
 /*************/
drivers/net/wireless/ath9k/beacon.c +0 -5
@@ -140,11 +140,6 @@
 	series[0].RateFlags = (ctsrate) ? HAL_RATESERIES_RTS_CTS : 0;
 	ath9k_hw_set11n_ratescenario(ah, ds, ds, 0,
 		ctsrate, ctsduration, series, 4, 0);
-
-	/* NB: The desc swap function becomes void,
-	 * if descriptor swapping is not enabled
-	 */
-	ath_desc_swap(ds);
 }
 
 /* Move everything from the vap's mcast queue to the hardware cab queue.
drivers/net/wireless/ath9k/core.h +0 -1
@@ -384,7 +384,6 @@
 void ath_descdma_cleanup(struct ath_softc *sc,
 			 struct ath_descdma *dd,
 			 struct list_head *head);
-void ath_desc_swap(struct ath_desc *ds);
 
 /******/
 /* RX */
drivers/net/wireless/ath9k/xmit.c +0 -1
@@ -2062,7 +2062,6 @@
 			    AH_TRUE,            /* first segment */
 			    (n_sg == 1) ? AH_TRUE : AH_FALSE, /* last segment */
 			    ds);                /* first descriptor */
-	ath_desc_swap(ds);
 
 	bf->bf_lastfrm = bf;
 	bf->bf_ht = txctl->ht;