On Sunday 30 March 2008 17:10:48 Julien Muchembled wrote:
> > The only thing that happens on a 120-second cycle is the following
> > routine from drivers/net/wireless/main.c:
> >
> > static void b43_periodic_every120sec(struct b43_wldev *dev)
> > {
> > struct b43_phy *phy = &dev->phy;
> >
> > if (phy->type != B43_PHYTYPE_G || phy->rev < 2)
> > return;
> >
> > b43_mac_suspend(dev);
> > b43_lo_g_measure(dev);
> > b43_mac_enable(dev);
> > if (b43_has_hardware_pctl(phy))
> > b43_lo_g_ctl_mark_all_unused(dev);
> > }
> >
> > To test if this routine is the problem, replace it with a simple return.
> > If that cures the problem, try commenting out the b43_lo_g_measure(dev)
> > and b43_lo_g_ctl_mark_all_unused(dev) lines.
>
> There is no more freeze with a simple return, or if I comment
> b43_lo_g_measure(dev)
> Commenting b43_lo_g_ctl_mark_all_unused(dev) doesn't change anything.
>
> Oh I see a b43_periodic_every60sec below.
> That could explain the small loss of packets we can see every minute on
> the graph.
This is not easily fixable and caused by a fundamental design flaw
of the hardware. We must live with it for now.
--
Greetings Michael.
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev