diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-12-18 16:25:22 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-12-18 16:25:22 +0000 |
commit | abca0462d3344082aec3083b7ce612286abc4d0d (patch) | |
tree | 30324bd8b41ff7c4eefdbd19e5f9cf8fc41ab962 /target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch | |
parent | 192e945479a9c90eb7d6a3ff563084cb558ba31a (diff) | |
download | mtk-20170518-abca0462d3344082aec3083b7ce612286abc4d0d.zip mtk-20170518-abca0462d3344082aec3083b7ce612286abc4d0d.tar.gz mtk-20170518-abca0462d3344082aec3083b7ce612286abc4d0d.tar.bz2 |
kernel: bgmac: fix some problems
There are some problems in the napi usage that are fixed now.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
SVN-Revision: 43749
Diffstat (limited to 'target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch')
-rw-r--r-- | target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch b/target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch new file mode 100644 index 0000000..56248c6 --- /dev/null +++ b/target/linux/generic/patches-3.18/771-bgmac-register-napi-before-the-device.patch @@ -0,0 +1,43 @@ +From d5b4e70e8c205a67e2e246908b259367ab9ccecf Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens <hauke@hauke-m.de> +Date: Mon, 8 Dec 2014 08:27:23 +0100 +Subject: [PATCH 2/4] bgmac: register napi before the device + +napi should get registered before the netdev and not after. + +Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> +--- + drivers/net/ethernet/broadcom/bgmac.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/net/ethernet/broadcom/bgmac.c ++++ b/drivers/net/ethernet/broadcom/bgmac.c +@@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_devic + if (core->bus->sprom.boardflags_lo & BGMAC_BFL_ENETADM) + bgmac_warn(bgmac, "Support for ADMtek ethernet switch not implemented\n"); + ++ netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT); ++ + err = bgmac_mii_register(bgmac); + if (err) { + bgmac_err(bgmac, "Cannot register MDIO\n"); +@@ -1529,8 +1531,6 @@ static int bgmac_probe(struct bcma_devic + + netif_carrier_off(net_dev); + +- netif_napi_add(net_dev, &bgmac->napi, bgmac_poll, BGMAC_WEIGHT); +- + return 0; + + err_mii_unregister: +@@ -1549,9 +1549,9 @@ static void bgmac_remove(struct bcma_dev + { + struct bgmac *bgmac = bcma_get_drvdata(core); + +- netif_napi_del(&bgmac->napi); + unregister_netdev(bgmac->net_dev); + bgmac_mii_unregister(bgmac); ++ netif_napi_del(&bgmac->napi); + bgmac_dma_free(bgmac); + bcma_set_drvdata(core, NULL); + free_netdev(bgmac->net_dev); |