|
@@ -811,9 +811,13 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
|
|
break;
|
|
break;
|
|
case B43_PHYTYPE_G:
|
|
case B43_PHYTYPE_G:
|
|
status.band = IEEE80211_BAND_2GHZ;
|
|
status.band = IEEE80211_BAND_2GHZ;
|
|
- /* chanid is the radio channel cookie value as used
|
|
|
|
- * to tune the radio. */
|
|
|
|
- status.freq = chanid + 2400;
|
|
|
|
|
|
+ /* Somewhere between 478.104 and 508.1084 firmware for G-PHY
|
|
|
|
+ * has been modified to be compatible with N-PHY and others.
|
|
|
|
+ */
|
|
|
|
+ if (dev->fw.rev >= 508)
|
|
|
|
+ status.freq = ieee80211_channel_to_frequency(chanid, status.band);
|
|
|
|
+ else
|
|
|
|
+ status.freq = chanid + 2400;
|
|
break;
|
|
break;
|
|
case B43_PHYTYPE_N:
|
|
case B43_PHYTYPE_N:
|
|
case B43_PHYTYPE_LP:
|
|
case B43_PHYTYPE_LP:
|