|
@@ -3070,6 +3070,7 @@ static void qeth_l3_remove_device(struct ccwgroup_device *cgdev)
|
|
{
|
|
{
|
|
struct qeth_card *card = dev_get_drvdata(&cgdev->dev);
|
|
struct qeth_card *card = dev_get_drvdata(&cgdev->dev);
|
|
|
|
|
|
|
|
+ qeth_set_allowed_threads(card, 0, 1);
|
|
wait_event(card->wait_q, qeth_threads_running(card, 0xffffffff) == 0);
|
|
wait_event(card->wait_q, qeth_threads_running(card, 0xffffffff) == 0);
|
|
|
|
|
|
if (cgdev->state == CCWGROUP_ONLINE) {
|
|
if (cgdev->state == CCWGROUP_ONLINE) {
|
|
@@ -3141,8 +3142,9 @@ static int __qeth_l3_set_online(struct ccwgroup_device *gdev, int recovery_mode)
|
|
dev_warn(&card->gdev->dev,
|
|
dev_warn(&card->gdev->dev,
|
|
"The LAN is offline\n");
|
|
"The LAN is offline\n");
|
|
card->lan_online = 0;
|
|
card->lan_online = 0;
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
- return rc;
|
|
|
|
|
|
+ goto out_remove;
|
|
} else
|
|
} else
|
|
card->lan_online = 1;
|
|
card->lan_online = 1;
|
|
qeth_set_large_send(card, card->options.large_send);
|
|
qeth_set_large_send(card, card->options.large_send);
|