From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: Re: [PATCH net] net: macb: initialize bp->queues[0].bp for at91rm9200 Date: Tue, 26 Jun 2018 05:51:43 -0700 Message-ID: <5551f74c-9b06-dae1-901b-c9d296ce82ae@microchip.com> References: <20180626084401.16780-1-alexandre.belloni@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit Cc: Rafal Ozieblo , , To: Alexandre Belloni , "David S. Miller" Return-path: In-Reply-To: <20180626084401.16780-1-alexandre.belloni@bootlin.com> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 26/06/2018 at 01:44, Alexandre Belloni wrote: > The macb driver currently crashes on at91rm9200 with the following trace: > > Unable to handle kernel NULL pointer dereference at virtual address 00000014 > [...] > [] (macb_rx_desc) from [] (at91ether_open+0x2e8/0x3f8) > [] (at91ether_open) from [] (__dev_open+0x120/0x13c) > [] (__dev_open) from [] (__dev_change_flags+0x17c/0x1a8) > [] (__dev_change_flags) from [] (dev_change_flags+0x18/0x4c) > [] (dev_change_flags) from [] (ip_auto_config+0x220/0x10b0) > [] (ip_auto_config) from [] (do_one_initcall+0x78/0x18c) > [] (do_one_initcall) from [] (kernel_init_freeable+0x184/0x1c4) > [] (kernel_init_freeable) from [] (kernel_init+0x8/0xe8) > [] (kernel_init) from [] (ret_from_fork+0x14/0x34) > > Solve that by initializing bp->queues[0].bp in at91ether_init (as is done > in macb_init). > > Fixes: ae1f2a56d273 ("net: macb: Added support for many RX queues") > Signed-off-by: Alexandre Belloni Acked-by: Nicolas Ferre > --- > drivers/net/ethernet/cadence/macb_main.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c > index 3e93df5d4e3b..96cc03a6d942 100644 > --- a/drivers/net/ethernet/cadence/macb_main.c > +++ b/drivers/net/ethernet/cadence/macb_main.c > @@ -3726,6 +3726,8 @@ static int at91ether_init(struct platform_device *pdev) > int err; > u32 reg; > > + bp->queues[0].bp = bp; > + > dev->netdev_ops = &at91ether_netdev_ops; > dev->ethtool_ops = &macb_ethtool_ops; > > -- Nicolas Ferre