ath9k: Fix descriptor length for AR9462
Change the descriptor length to 24 and explicitly set the control field 23 to zero. Not doing so would result in dropping of frames. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
f4c6ac27d6
commit
9da2723206
@ -28,11 +28,14 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|||||||
struct ar9003_txc *ads = ds;
|
struct ar9003_txc *ads = ds;
|
||||||
int checksum = 0;
|
int checksum = 0;
|
||||||
u32 val, ctl12, ctl17;
|
u32 val, ctl12, ctl17;
|
||||||
|
u8 desc_len;
|
||||||
|
|
||||||
|
desc_len = (AR_SREV_9462(ah) ? 0x18 : 0x17);
|
||||||
|
|
||||||
val = (ATHEROS_VENDOR_ID << AR_DescId_S) |
|
val = (ATHEROS_VENDOR_ID << AR_DescId_S) |
|
||||||
(1 << AR_TxRxDesc_S) |
|
(1 << AR_TxRxDesc_S) |
|
||||||
(1 << AR_CtrlStat_S) |
|
(1 << AR_CtrlStat_S) |
|
||||||
(i->qcu << AR_TxQcuNum_S) | 0x17;
|
(i->qcu << AR_TxQcuNum_S) | desc_len;
|
||||||
|
|
||||||
checksum += val;
|
checksum += val;
|
||||||
ACCESS_ONCE(ads->info) = val;
|
ACCESS_ONCE(ads->info) = val;
|
||||||
@ -81,6 +84,7 @@ ar9003_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)
|
|||||||
ads->ctl20 = 0;
|
ads->ctl20 = 0;
|
||||||
ads->ctl21 = 0;
|
ads->ctl21 = 0;
|
||||||
ads->ctl22 = 0;
|
ads->ctl22 = 0;
|
||||||
|
ads->ctl23 = 0;
|
||||||
|
|
||||||
ctl17 = SM(i->keytype, AR_EncrType);
|
ctl17 = SM(i->keytype, AR_EncrType);
|
||||||
if (!i->is_first) {
|
if (!i->is_first) {
|
||||||
|
@ -92,7 +92,8 @@ struct ar9003_txc {
|
|||||||
u32 ctl20; /* DMA control 20 */
|
u32 ctl20; /* DMA control 20 */
|
||||||
u32 ctl21; /* DMA control 21 */
|
u32 ctl21; /* DMA control 21 */
|
||||||
u32 ctl22; /* DMA control 22 */
|
u32 ctl22; /* DMA control 22 */
|
||||||
u32 pad[9]; /* pad to cache line (128 bytes/32 dwords) */
|
u32 ctl23; /* DMA control 23 */
|
||||||
|
u32 pad[8]; /* pad to cache line (128 bytes/32 dwords) */
|
||||||
} __packed __aligned(4);
|
} __packed __aligned(4);
|
||||||
|
|
||||||
struct ar9003_txs {
|
struct ar9003_txs {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user