diff options
Diffstat (limited to 'drivers/s390/net/qeth_l3_main.c')
| -rw-r--r-- | drivers/s390/net/qeth_l3_main.c | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/s390/net/qeth_l3_main.c b/drivers/s390/net/qeth_l3_main.c index 4cd310cb5bd..5ba39065849 100644 --- a/drivers/s390/net/qeth_l3_main.c +++ b/drivers/s390/net/qeth_l3_main.c @@ -3510,11 +3510,12 @@ static int qeth_l3_recover(void *ptr)  		dev_info(&card->gdev->dev,  			"Device successfully recovered!\n");  	else { -		rtnl_lock(); -		dev_close(card->dev); -		rtnl_unlock(); -		dev_warn(&card->gdev->dev, "The qeth device driver " -			"failed to recover an error on the device\n"); +		if (rtnl_trylock()) { +			dev_close(card->dev); +			rtnl_unlock(); +			dev_warn(&card->gdev->dev, "The qeth device driver " +				"failed to recover an error on the device\n"); +		}  	}  	qeth_clear_thread_start_bit(card, QETH_RECOVER_THREAD);  	qeth_clear_thread_running_bit(card, QETH_RECOVER_THREAD);  |