s390/zcrypt: fix device unregister race
The ap_queue_messsage function will call device_unregister if the unregistered field of the device has been set while trying to queue a message. This races with other device_unregister calls, e.g. from the ap_scan_bus. Remove the call to device_unregister from ap_queue_message and let ap_scan_bus deal with it. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
@ -1666,8 +1666,6 @@ void ap_queue_message(struct ap_device *ap_dev, struct ap_message *ap_msg)
|
|||||||
rc = -ENODEV;
|
rc = -ENODEV;
|
||||||
}
|
}
|
||||||
spin_unlock_bh(&ap_dev->lock);
|
spin_unlock_bh(&ap_dev->lock);
|
||||||
if (rc == -ENODEV)
|
|
||||||
device_unregister(&ap_dev->device);
|
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(ap_queue_message);
|
EXPORT_SYMBOL(ap_queue_message);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user