Hi! > > 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' Thanks, your patch is obviously better. > > @@ -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. Yep, but it does not help :-(. Were you able to get the driver to work on big-endian machine? Pavel -- 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