2011-02-09 08:13:36

by Toshiharu Okada

[permalink] [raw]
Subject: [PATCH v2] pch_gbe: Fix the issue which a driver locks when rx offload is set by ethtool

Hi Devid

I resubmit this patch that removed compiler warning.

Best regards
Toshiharu Okada(OKI semiconductor)
---
This driver will be in a deadlock, When the rx offload is set by ethtool.
The pch_gbe_reinit_locked function was modified.

Signed-off-by: Toshiharu Okada <[email protected]>
---
drivers/net/pch_gbe/pch_gbe_main.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/net/pch_gbe/pch_gbe_main.c b/drivers/net/pch_gbe/pch_gbe_main.c
index 76a31b0..8ec48ad 100644
--- a/drivers/net/pch_gbe/pch_gbe_main.c
+++ b/drivers/net/pch_gbe/pch_gbe_main.c
@@ -520,7 +520,9 @@ static void pch_gbe_reset_task(struct work_struct *work)
struct pch_gbe_adapter *adapter;
adapter = container_of(work, struct pch_gbe_adapter, reset_task);

+ rtnl_lock();
pch_gbe_reinit_locked(adapter);
+ rtnl_unlock();
}

/**
@@ -529,14 +531,8 @@ static void pch_gbe_reset_task(struct work_struct *work)
*/
void pch_gbe_reinit_locked(struct pch_gbe_adapter *adapter)
{
- struct net_device *netdev = adapter->netdev;
-
- rtnl_lock();
- if (netif_running(netdev)) {
- pch_gbe_down(adapter);
- pch_gbe_up(adapter);
- }
- rtnl_unlock();
+ pch_gbe_down(adapter);
+ pch_gbe_up(adapter);
}

/**
--
1.6.2.5


2011-02-09 20:27:43

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v2] pch_gbe: Fix the issue which a driver locks when rx offload is set by ethtool

From: Toshiharu Okada <[email protected]>
Date: Wed, 09 Feb 2011 17:12:47 +0900

> This driver will be in a deadlock, When the rx offload is set by ethtool.
> The pch_gbe_reinit_locked function was modified.
>
> Signed-off-by: Toshiharu Okada <[email protected]>

Applied.