Fixed IRQ freeing bug in e100 drivers.
This commit is contained in:
parent
2ce7cf6466
commit
f0904054f9
|
|
@ -2186,7 +2186,7 @@ static int e100_up(struct nic *nic)
|
||||||
mod_timer(&nic->watchdog, jiffies);
|
mod_timer(&nic->watchdog, jiffies);
|
||||||
}
|
}
|
||||||
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
||||||
nic->netdev->name, nic->netdev)))
|
nic->netdev->name, nic->netdev)))
|
||||||
goto err_no_irq;
|
goto err_no_irq;
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
netif_wake_queue(nic->netdev);
|
netif_wake_queue(nic->netdev);
|
||||||
|
|
@ -2215,8 +2215,8 @@ static void e100_down(struct nic *nic)
|
||||||
netif_stop_queue(nic->netdev);
|
netif_stop_queue(nic->netdev);
|
||||||
}
|
}
|
||||||
e100_hw_reset(nic);
|
e100_hw_reset(nic);
|
||||||
|
free_irq(nic->pdev->irq, nic->netdev);
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
free_irq(nic->pdev->irq, nic->netdev);
|
|
||||||
del_timer_sync(&nic->watchdog);
|
del_timer_sync(&nic->watchdog);
|
||||||
netif_carrier_off(nic->netdev);
|
netif_carrier_off(nic->netdev);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2195,7 +2195,7 @@ static int e100_up(struct nic *nic)
|
||||||
mod_timer(&nic->watchdog, jiffies);
|
mod_timer(&nic->watchdog, jiffies);
|
||||||
}
|
}
|
||||||
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
||||||
nic->netdev->name, nic->netdev)))
|
nic->netdev->name, nic->netdev)))
|
||||||
goto err_no_irq;
|
goto err_no_irq;
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
netif_wake_queue(nic->netdev);
|
netif_wake_queue(nic->netdev);
|
||||||
|
|
@ -2224,8 +2224,8 @@ static void e100_down(struct nic *nic)
|
||||||
netif_stop_queue(nic->netdev);
|
netif_stop_queue(nic->netdev);
|
||||||
}
|
}
|
||||||
e100_hw_reset(nic);
|
e100_hw_reset(nic);
|
||||||
|
free_irq(nic->pdev->irq, nic->netdev);
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
free_irq(nic->pdev->irq, nic->netdev);
|
|
||||||
del_timer_sync(&nic->watchdog);
|
del_timer_sync(&nic->watchdog);
|
||||||
netif_carrier_off(nic->netdev);
|
netif_carrier_off(nic->netdev);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2266,7 +2266,7 @@ static int e100_up(struct nic *nic)
|
||||||
mod_timer(&nic->watchdog, jiffies);
|
mod_timer(&nic->watchdog, jiffies);
|
||||||
}
|
}
|
||||||
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
||||||
nic->netdev->name, nic->netdev)))
|
nic->netdev->name, nic->netdev)))
|
||||||
goto err_no_irq;
|
goto err_no_irq;
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
netif_wake_queue(nic->netdev);
|
netif_wake_queue(nic->netdev);
|
||||||
|
|
@ -2295,8 +2295,8 @@ static void e100_down(struct nic *nic)
|
||||||
netif_stop_queue(nic->netdev);
|
netif_stop_queue(nic->netdev);
|
||||||
}
|
}
|
||||||
e100_hw_reset(nic);
|
e100_hw_reset(nic);
|
||||||
|
free_irq(nic->pdev->irq, nic->netdev);
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
free_irq(nic->pdev->irq, nic->netdev);
|
|
||||||
del_timer_sync(&nic->watchdog);
|
del_timer_sync(&nic->watchdog);
|
||||||
netif_carrier_off(nic->netdev);
|
netif_carrier_off(nic->netdev);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2266,7 +2266,7 @@ static int e100_up(struct nic *nic)
|
||||||
mod_timer(&nic->watchdog, jiffies);
|
mod_timer(&nic->watchdog, jiffies);
|
||||||
}
|
}
|
||||||
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
if((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
||||||
nic->netdev->name, nic->netdev)))
|
nic->netdev->name, nic->netdev)))
|
||||||
goto err_no_irq;
|
goto err_no_irq;
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
netif_wake_queue(nic->netdev);
|
netif_wake_queue(nic->netdev);
|
||||||
|
|
@ -2295,8 +2295,8 @@ static void e100_down(struct nic *nic)
|
||||||
netif_stop_queue(nic->netdev);
|
netif_stop_queue(nic->netdev);
|
||||||
}
|
}
|
||||||
e100_hw_reset(nic);
|
e100_hw_reset(nic);
|
||||||
|
free_irq(nic->pdev->irq, nic->netdev);
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
free_irq(nic->pdev->irq, nic->netdev);
|
|
||||||
del_timer_sync(&nic->watchdog);
|
del_timer_sync(&nic->watchdog);
|
||||||
netif_carrier_off(nic->netdev);
|
netif_carrier_off(nic->netdev);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2161,7 +2161,7 @@ static int e100_up(struct nic *nic)
|
||||||
mod_timer(&nic->watchdog, jiffies);
|
mod_timer(&nic->watchdog, jiffies);
|
||||||
}
|
}
|
||||||
if ((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
if ((err = request_irq(nic->pdev->irq, e100_intr, IRQF_SHARED,
|
||||||
nic->netdev->name, nic->netdev)))
|
nic->netdev->name, nic->netdev)))
|
||||||
goto err_no_irq;
|
goto err_no_irq;
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
netif_wake_queue(nic->netdev);
|
netif_wake_queue(nic->netdev);
|
||||||
|
|
@ -2190,8 +2190,8 @@ static void e100_down(struct nic *nic)
|
||||||
netif_stop_queue(nic->netdev);
|
netif_stop_queue(nic->netdev);
|
||||||
}
|
}
|
||||||
e100_hw_reset(nic);
|
e100_hw_reset(nic);
|
||||||
|
free_irq(nic->pdev->irq, nic->netdev);
|
||||||
if (!nic->ecdev) {
|
if (!nic->ecdev) {
|
||||||
free_irq(nic->pdev->irq, nic->netdev);
|
|
||||||
del_timer_sync(&nic->watchdog);
|
del_timer_sync(&nic->watchdog);
|
||||||
netif_carrier_off(nic->netdev);
|
netif_carrier_off(nic->netdev);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue