Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 289817
b: refs/heads/master
c: 209e5ac
h: refs/heads/master
i:
  289815: 39e1777
v: v3
  • Loading branch information
Francois Romieu committed Jan 27, 2012
1 parent 8850b12 commit d9f4fbf
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 32 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 4512ff9f361a2786a18cb805d1f64b8d8719f121
refs/heads/master: 209e5ac83b4d038ffb52cabc793f75031602a031
34 changes: 3 additions & 31 deletions trunk/drivers/net/ethernet/realtek/r8169.c
Original file line number Diff line number Diff line change
Expand Up @@ -5353,34 +5353,6 @@ static void rtl8169_wait_for_quiescence(struct net_device *dev)
napi_enable(&tp->napi);
}

static void rtl8169_reinit_task(struct work_struct *work)
{
struct rtl8169_private *tp =
container_of(work, struct rtl8169_private, task.work);
struct net_device *dev = tp->dev;
int ret;

rtnl_lock();

if (!netif_running(dev))
goto out_unlock;

rtl8169_wait_for_quiescence(dev);
rtl8169_close(dev);

ret = rtl8169_open(dev);
if (unlikely(ret < 0)) {
if (net_ratelimit())
netif_err(tp, drv, dev,
"reinit failure (status = %d). Rescheduling\n",
ret);
rtl8169_schedule_work(dev, rtl8169_reinit_task);
}

out_unlock:
rtnl_unlock();
}

static void rtl8169_reset_task(struct work_struct *work)
{
struct rtl8169_private *tp =
Expand Down Expand Up @@ -5616,7 +5588,7 @@ static void rtl8169_pcierr_interrupt(struct net_device *dev)

rtl8169_hw_reset(tp);

rtl8169_schedule_work(dev, rtl8169_reinit_task);
rtl8169_schedule_work(dev, rtl8169_reset_task);
}

static void rtl8169_tx_interrupt(struct net_device *dev,
Expand Down Expand Up @@ -5923,8 +5895,8 @@ static void rtl8169_down(struct net_device *dev)
rtl8169_hw_reset(tp);
/*
* At this point device interrupts can not be enabled in any function,
* as netif_running is not true (rtl8169_interrupt, rtl8169_reset_task,
* rtl8169_reinit_task) and napi is disabled (rtl8169_poll).
* as netif_running is not true (rtl8169_interrupt, rtl8169_reset_task)
* and napi is disabled (rtl8169_poll).
*/
rtl8169_rx_missed(dev, ioaddr);

Expand Down

0 comments on commit d9f4fbf

Please sign in to comment.