On Tue, 2006-01-10 at 14:43 -0600, Larry Finger wrote:

>          switch (bcm->current_core->phy->type) {
>          case BCM43xx_PHYTYPE_A:
>          case BCM43xx_PHYTYPE_G:
>                  range->num_bitrates += 4;
>                  range->bitrate[i++] = IEEE80211_CCK_RATE_1MB;
>                  range->bitrate[i++] = IEEE80211_CCK_RATE_2MB;
>                  range->bitrate[i++] = IEEE80211_CCK_RATE_5MB;
>                  range->bitrate[i++] = IEEE80211_CCK_RATE_11MB;
>          case BCM43xx_PHYTYPE_B:
>                  range->num_bitrates += 8;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_6MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_9MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_12MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_18MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_24MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_36MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_48MB;
>                  range->bitrate[i++] = IEEE80211_OFDM_RATE_54MB;
>          }
> 
> The code is correct for a and g PHY's, but is it right for b-type PHY's? For 
> them, I would have 
> expected 1, 2, 5 and 11 MB rates, not 6, ..., 54 MB. I think the attached 
> patch fixes the situation.

It's neither correct for A nor for B. It is only correct for G. You need
to exchange PHYTYPE_B and PHYTYPE_A in above code and add
  if (phytype == BCM43xx_PHY_TYPE_B) break;
before "case BCM43xx_PHY_TYPE_A" after exchanging it with _B to make it
correct.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to