From: <sean.wang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
To: <john-Pj+rj9U5foFAfugRpC6u6w@public.gmane.org>,
<davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
nbd-p3rKhJxN3npAfugRpC6u6w@public.gmane.org,
Sean Wang <sean.wang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
keyhaede-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Subject: [PATCH net v2 6/9] net: ethernet: mediatek: fix issue of driver removal with interface is up
Date: Mon, 29 Aug 2016 13:03:20 +0800 [thread overview]
Message-ID: <1472447003-30726-7-git-send-email-sean.wang@mediatek.com> (raw)
In-Reply-To: <1472447003-30726-1-git-send-email-sean.wang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
From: Sean Wang <sean.wang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
mtk_stop() must be called to stop for freeing DMA
resources acquired and restoring state changed by mtk_open()
firstly when module removal.
Signed-off-by: Sean Wang <sean.wang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
---
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 17dd2f8..1001317 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -1903,6 +1903,14 @@ err_free_dev:
static int mtk_remove(struct platform_device *pdev)
{
struct mtk_eth *eth = platform_get_drvdata(pdev);
+ int i;
+
+ /* stop all devices to make sure that dma is properly shut down */
+ for (i = 0; i < MTK_MAC_COUNT; i++) {
+ if (!eth->netdev[i])
+ continue;
+ mtk_stop(eth->netdev[i]);
+ }
clk_disable_unprepare(eth->clks[MTK_CLK_GP1]);
clk_disable_unprepare(eth->clks[MTK_CLK_GP2]);
--
1.9.1
next prev parent reply other threads:[~2016-08-29 5:03 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-29 5:03 [PATCH net v2 0/9] net: ethernet: mediatek: a couple of fixes sean.wang-NuS5LvNUpcJWk0Htik3J/w
[not found] ` <1472447003-30726-1-git-send-email-sean.wang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2016-08-29 5:03 ` [PATCH net v2 1/9] net: ethernet: mediatek: fix fails from TX housekeeping due to incorrect port setup sean.wang-NuS5LvNUpcJWk0Htik3J/w
2016-08-29 5:03 ` [PATCH net v2 2/9] net: ethernet: mediatek: fix incorrect return value of devm_clk_get with EPROBE_DEFER sean.wang-NuS5LvNUpcJWk0Htik3J/w
2016-08-29 5:03 ` [PATCH net v2 4/9] net: ethernet: mediatek: remove redundant free_irq for devm_request_irq allocated irq sean.wang-NuS5LvNUpcJWk0Htik3J/w
2016-08-29 5:03 ` [PATCH net v2 5/9] net: ethernet: mediatek: fix logic unbalance between probe and remove sean.wang-NuS5LvNUpcJWk0Htik3J/w
2016-08-29 5:03 ` sean.wang-NuS5LvNUpcJWk0Htik3J/w [this message]
2016-08-29 5:03 ` [PATCH net v2 3/9] net: ethernet: mediatek: fix API usage with skb_free_frag sean.wang
2016-08-29 5:03 ` [PATCH net v2 7/9] net: ethernet: mediatek: fix the missing of_node_put() after node is used done inside mtk_mdio_init sean.wang
2016-08-29 5:03 ` [PATCH net v2 8/9] net: ethernet: mediatek: use devm_mdiobus_alloc instead of mdiobus_alloc " sean.wang
2016-08-29 13:06 ` Andrew Lunn
2016-08-29 5:03 ` [PATCH net v2 9/9] net: ethernet: mediatek: fix error handling " sean.wang
2016-08-29 13:15 ` Andrew Lunn
2016-08-29 16:10 ` Sean Wang
2016-08-29 16:36 ` Andrew Lunn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1472447003-30726-7-git-send-email-sean.wang@mediatek.com \
--to=sean.wang-nus5lvnupcjwk0htik3j/w@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=john-Pj+rj9U5foFAfugRpC6u6w@public.gmane.org \
--cc=keyhaede-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=nbd-p3rKhJxN3npAfugRpC6u6w@public.gmane.org \
--cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).