On 2010-11-29 10:58 AM, Pavel Machek wrote: > > It seems struct eep_header lacks proper #ifdef BIG_ENDIAN_BITFIELD > markup. eep_4k_header has proper markup, but two fields were swapped. > > Signed-off-by: Pavel Machek <pma@xxxxxxxxx> > > diff --git a/drivers/net/wireless/ath/ath9k/eeprom.h b/drivers/net/wireless/ath/ath9k/eeprom.h > index 3c99830..022589d 100644 > --- a/drivers/net/wireless/ath/ath9k/eeprom.h > +++ b/drivers/net/wireless/ath/ath9k/eeprom.h > @@ -378,10 +374,14 @@ struct modal_eep_header { > u8 xatten2Margin[AR5416_MAX_CHAINS]; > u8 ob_ch1; > u8 db_ch1; > - u8 useAnt1:1, > - force_xpaon:1, > - local_bias:1, > +#ifndef __BIG_ENDIAN_BITFIELD > + u8 useAnt1:1, force_xpaon:1, local_bias:1, > femBandSelectUsed:1, xlnabufin:1, xlnaisel:2, xlnabufmode:1; > +#else > + u8 xlnabufmode:1, xlnaisel:2, xlnabufin:1, > + femBandSelectUsed:1, local_bias:1, force_xpaon:1, useAnt1:1; > +#endif > + > u8 miscBits; > u16 xpaBiasLvlFreq[3]; > u8 futureModal[6]; I already sent a different fix for this part. See '[PATCH] ath9k_hw: fix more bitfield related endian issues' > @@ -443,7 +444,7 @@ struct modal_eep_4k_header { > u8 antdiv_ctl1:4, ob_4:4; > u8 db1_3:4, db1_2:4; > u8 antdiv_ctl2:4, db1_4:4; > - u8 db2_2:4, db2_3:4; > + u8 db2_3:4, db2_2:4; > u8 reserved:4, db2_4:4; > #else > u8 ob_2:4, ob_3:4; Looks good. - Felix -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html