56248c6720588b4d4030ee8035df811fd7e482b1
[openwrt/svn-archive/archive.git] / target / linux / generic / patches-3.18 / 771-bgmac-register-napi-before-the-device.patch
1 From d5b4e70e8c205a67e2e246908b259367ab9ccecf Mon Sep 17 00:00:00 2001
2 From: Hauke Mehrtens <hauke@hauke-m.de>
3 Date: Mon, 8 Dec 2014 08:27:23 +0100
4 Subject: [PATCH 2/4] 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 ---
10 drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
11 1 file changed, 3 insertions(+), 3 deletions(-)
12
13 --- a/drivers/net/ethernet/broadcom/bgmac.c
14 +++ b/drivers/net/ethernet/broadcom/bgmac.c
15 @@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_devic
16 if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM)
17 bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n");
18
19 + netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
20 +
21 err = bgmac_mii_register(bgmac);
22 if (err) {
23 bgmac_err(bgmac, "Cannot register MDIO\n");
24 @@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_devic
25
26 netif_carrier_off(net_dev);
27
28 - netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT);
29 -
30 return 0;
31
32 err_mii_unregister:
33 @@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_dev
34 {
35 struct bgmac *bgmac = bcma_get_drvdata(core);
36
37 - netif_napi_del(&bgmac->napi);
38 unregister_netdev(bgmac->net_dev);
39 bgmac_mii_unregister(bgmac);
40 + netif_napi_del(&bgmac->napi);
41 bgmac_dma_free(bgmac);
42 bcma_set_drvdata(core, NULL);
43 free_netdev(bgmac->net_dev);