2eba9eee825239db488e95c2e79931c4a860e819
[openwrt.git] / target / linux / generic / patches-3.18 / 070-bgmac-register-napi-before-the-device.patch
1 From 6216642f200258708e47170ff14ba8ecb486f4f0 Mon Sep 17 00:00:00 2001
2 From: Hauke Mehrtens <hauke@hauke-m.de>
3 Date: Sun, 18 Jan 2015 19:49:58 +0100
4 Subject: [PATCH] bgmac: register napi before the device
5
6 napi should get registered before the netdev and not after.
7
8 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
9 Signed-off-by: David S. Miller <davem@davemloft.net>
10 ---
11  drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
12  1 file changed, 3 insertions(+), 3 deletions(-)
13
14 diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
15 index 05c6af6..aa9f950 100644
16 --- a/drivers/net/ethernet/broadcom/bgmac.c
17 +++ b/drivers/net/ethernet/broadcom/bgmac.c
18 @@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_device *core)
19         if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
20                 bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n");
21  
22 +       netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
23 +
24         err = bgmac_mii_register(bgmac);
25         if (err) {
26                 bgmac_err(bgmac, "Cannot register MDIO\n");
27 @@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_device *core)
28  
29         netif_carrier_off(net_dev);
30  
31 -       netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
32 -
33         return 0;
34  
35  err_mii_unregister:
36 @@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_device *core)
37  {
38         struct bgmac *bgmac = bcma_get_drvdata(core);
39  
40 -       netif_napi_del(&bgmac->napi);
41         unregister_netdev(bgmac->net_dev);
42         bgmac_mii_unregister(bgmac);
43 +       netif_napi_del(&bgmac->napi);
44         bgmac_dma_free(bgmac);
45         bcma_set_drvdata(core, NULL);
46         free_netdev(bgmac->net_dev);
47 -- 
48 1.8.4.5
49