aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2015-02-11 17:35:09 +0000
committerRafał Miłecki <zajec5@gmail.com>2015-02-11 17:35:09 +0000
commitc419d3be121a35680753f4709a070b5da239d97c (patch)
tree66dad4e406ff8b89770b9fb91d19b19ed922505e /target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch
parent656eef3a505d9d1493c5e9db5a7d86e55544e9e1 (diff)
downloadupstream-c419d3be121a35680753f4709a070b5da239d97c.tar.gz
upstream-c419d3be121a35680753f4709a070b5da239d97c.tar.bz2
upstream-c419d3be121a35680753f4709a070b5da239d97c.zip
kernel: backport mainlined bgmac patches from 3.19
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44410 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch')
-rw-r--r--target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch b/target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch
new file mode 100644
index 0000000000..2eba9eee82
--- /dev/null
+++ b/target/linux/generic/patches-3.14/074-bgmac-register-napi-before-the-device.patch
@@ -0,0 +1,49 @@
+From 6216642f200258708e47170ff14ba8ecb486f4f0 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sun, 18 Jan 2015 19:49:58 +0100
+Subject: [PATCH] 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>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/broadcom/bgmac.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
+index 05c6af6..aa9f950 100644
+--- a/drivers/net/ethernet/broadcom/bgmac.c
++++ b/drivers/net/ethernet/broadcom/bgmac.c
+@@ -1515,6 +1515,8 @@ static int bgmac_probe(struct bcma_device *core)
+ 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_device *core)
+
+ 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_device *core)
+ {
+ 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);
+--
+1.8.4.5
+