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

Reply via email to