On Sunday 30 August 2009 17:10:23 Larry Finger wrote: > Michael Buesch wrote: > > On Sunday 30 August 2009 02:15:55 Gábor Stefanik wrote: > >> static void lpphy_pr41573_workaround(struct b43_wldev *dev) > >> { > >> struct b43_phy_lp *lpphy = dev->phy.lp; > >> @@ -1357,28 +1488,440 @@ static void lpphy_pr41573_workaround(struct b43_wldev *dev) > >> b43_lptab_read_bulk(dev, B43_LPTAB32(7, 0x140), > >> saved_tab_size, saved_tab); > >> } > >> + b43_put_phy_into_reset(dev); > > > > Are you sure you really want this? > > This function completely disables the PHY on the backplane and keeps the physical > > PHY reset pin asserted (even after return from the function). > > So the PHY will physically be powered down from this point on. The following > > PHY accesses could even hang the machine, because the PHY won't respond to > > register accesses anymore. > > > > We currently only use this function on A/G Multi-PHY devices to permanently > > hard-disable the PHY that's not used. > > The PHY reset routine in > http://bcm-v4.sipsolutions.net/802.11/PHY/Reset, which I just updated > for the latest N PHY changes, appears to be a different routine than > b43_put_phy_into_reset(). The names are confusing. b43_put_phy_into_reset() is opencoded in the specifications in various init routines. There's no separate specs page for that function. But I think the code is straightforward and easy to understand. -- Greetings, Michael. -- 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