ath9k: use ACCESS_ONCE_RW for write assignments
PATCH 1/1 ath9k: use ACCESS_ONCE_RW for write assignments
This patch fixes a compiler error which was introduced by "ath9k_hw: add a new API for setting tx descriptors" [2b63a4].
ar9002_mac.c:185:2: error: assignment of read-only location
...
ar9003_mac.c:37:2: error: assignment of read-only location
...
---
compile tested...
---
drivers/net/wireless/ath/ath9k/ar9002_mac.c +15 -15
@@ -182,8 +182,8 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) ads->ds_txstatus6 = ads->ds_txstatus7 =0 ; ads->ds_txstatus8 = ads->ds_txstatus9 =0 ; -ACCESS_ONCE (ads->ds_link) = i->link; -ACCESS_ONCE (ads->ds_data) = i->buf_addr[0 ]; +ACCESS_ONCE_RW (ads->ds_link) = i->link; +ACCESS_ONCE_RW (ads->ds_data) = i->buf_addr[0 ]; ctl1 = i->buf_len[0 ] | (i->is_last ?0 : AR_TxMore); ctl6 =SM (i->keytype, AR_EncrType);
@@ -197,26 +197,26 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)if ((i->is_first || i->is_last) && i->aggr !=AGGR_BUF_MIDDLE && i->aggr !=AGGR_BUF_LAST ) { -ACCESS_ONCE (ads->ds_ctl2) =set11nTries (i->rates,0 ) +ACCESS_ONCE_RW (ads->ds_ctl2) =set11nTries (i->rates,0 ) |set11nTries (i->rates,1 ) |set11nTries (i->rates,2 ) |set11nTries (i->rates,3 ) | (i->dur_update ? AR_DurUpdateEna :0 ) |SM (0 , AR_BurstDur); -ACCESS_ONCE (ads->ds_ctl3) =set11nRate (i->rates,0 ) +ACCESS_ONCE_RW (ads->ds_ctl3) =set11nRate (i->rates,0 ) |set11nRate (i->rates,1 ) |set11nRate (i->rates,2 ) |set11nRate (i->rates,3 ); }else { -ACCESS_ONCE (ads->ds_ctl2) =0 ; -ACCESS_ONCE (ads->ds_ctl3) =0 ; +ACCESS_ONCE_RW (ads->ds_ctl2) =0 ; +ACCESS_ONCE_RW (ads->ds_ctl3) =0 ; }if (!i->is_first) { -ACCESS_ONCE (ads->ds_ctl0) =0 ; -ACCESS_ONCE (ads->ds_ctl1) = ctl1; -ACCESS_ONCE (ads->ds_ctl6) = ctl6; +ACCESS_ONCE_RW (ads->ds_ctl0) =0 ; +ACCESS_ONCE_RW (ads->ds_ctl1) = ctl1; +ACCESS_ONCE_RW (ads->ds_ctl6) = ctl6;return ; }
@@ -241,7 +241,7 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i)break ; } -ACCESS_ONCE (ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) +ACCESS_ONCE_RW (ads->ds_ctl0) = (i->pkt_len & AR_FrameLen) | (i->flags &ATH9K_TXDESC_VMF ? AR_VirtMoreFrag :0 ) |SM (i->txpower, AR_XmitPower) | (i->flags &ATH9K_TXDESC_VEOL ?AR_VEOL :0 )
@@ -251,19 +251,19 @@ ar9002_set_txdesc(struct ath_hw *ah, void *ds, struct ath_tx_info *i) | (i->flags & ATH9K_TXDESC_RTSENA ? AR_RTSEnable : (i->flags &ATH9K_TXDESC_CTSENA ? AR_CTSEnable :0 )); -ACCESS_ONCE (ads->ds_ctl1) = ctl1; -ACCESS_ONCE (ads->ds_ctl6) = ctl6; +ACCESS_ONCE_RW (ads->ds_ctl1) = ctl1; +ACCESS_ONCE_RW (ads->ds_ctl6) = ctl6;if (i->aggr ==AGGR_BUF_MIDDLE || i->aggr ==AGGR_BUF_LAST )return ; -ACCESS_ONCE (ads->ds_ctl4) =set11nPktDurRTSCTS (i->rates,0 ) +ACCESS_ONCE_RW (ads->ds_ctl4) =set11nPktDurRTSCTS (i->rates,0 ) |set11nPktDurRTSCTS (i->rates,1 ); -ACCESS_ONCE (ads->ds_ctl5) =set11nPktDurRTSCTS (i->rates,2 ) +ACCESS_ONCE_RW (ads->ds_ctl5) =set11nPktDurRTSCTS (i->rates,2 ) |set11nPktDurRTSCTS (i->rates,3 ); -ACCESS_ONCE (ads->ds_ctl7) =set11nRateFlags (i->rates,0 ) +ACCESS_ONCE_RW (ads->ds_ctl7) =set11nRateFlags (i->rates,0 ) |set11nRateFlags (i->rates,1 ) |set11nRateFlags (i->rates,2 ) |set11nRateFlags (i->rates,3 )
drivers/net/wireless/ath/ath9k/ar9003_mac.c +29 -29
115 lines not on this page · raw message
Quoted 9 lines · Christian Lamparter
This patch fixes a compiler error which was introduced by "
ath9k_hw: add a new API for setting tx descriptors" [2b63a4].ar9002_mac.c:185:2: error: assignment of read-only location
...
ar9003_mac.c:37:2: error: assignment of read-only location
...Signed-off-by Christian Lamparter<[email protected]>
When and where was ACCESS_ONCE_RW added? It's not in wireless-testing and I can only find references to it on the web in grsecurity patches.
- Felix
Quoted 4 lines · On Sunday 18 September 2011 11:05:06 Felix Fietkau wrote:
Quoted 3 lines · Christian Lamparter
This patch fixes a compiler error which was introduced by "
ath9k_hw: add a new API for setting tx descriptors" [2b63a4].
Quoted 8 lines
Quoted 6 lines
ar9002_mac.c:185:2: error: assignment of read-only location
...
ar9003_mac.c:37:2: error: assignment of read-only location
...Signed-off-by Christian Lamparter<[email protected]>When and where was
ACCESS_ONCE_RWadded? It's not in wireless-testing and I can only find references to it on the web in grsecurity patches.
Sorry! You are right. ACCESS_ONCE_RW is part of grsecurity, looks like I have to bother Brad with this one.
Regards,
Chr