[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20080721.083203.22496261.davem@davemloft.net>
Date: Mon, 21 Jul 2008 08:32:03 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: avorontsov@...mvista.com
Cc: jeff@...zik.org, netdev@...r.kernel.org
Subject: Re: [PATCH 3/3] bunch of drivers: avoid BUG at net/core/dev.c:1328
From: Anton Vorontsov <avorontsov@...mvista.com>
Date: Mon, 21 Jul 2008 19:17:58 +0400
> The drivers were touching net queue before it has been started, so without
> this patch, the drivers will potentially BUG at net/core/dev.c:1328.
>
> I don't have the hardware for the drivers below, so this patch is untested,
> and thus should be carefully peer reviewed.
>
> tc35815.c
> au1000_eth.c
> bfin_mac.c
> macb.c
> ^ The four drivers are using phylib, they're calling netif_start_queue()
> in open() callback. So trivially remove netif_tx_schedule_all().
> Phylib will handle netif_carrier_*().
>
> cpmac.c
> fec_mpc52xx.c
> fs_enet/fs_enet-main.c
> sh_eth.c
> ^ The same as above, but these were also needlessly calling
> netif_carrier_*() functions. So removed queue calls and also remove
> carrier calls, since phylib will handle it. fs_enet-main.c also didn't
> call netif_start_queue() at open(), this is fixed now.
>
> Signed-off-by: Anton Vorontsov <avorontsov@...mvista.com>
Your analysis and patch both look accurate, but I'll let this
one sit for a day so that others can have a look and review.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists