Parcourir la source

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>
Martin Schwidefsky il y a 10 ans
Parent
commit
98733791e8
1 fichiers modifiés avec 0 ajouts et 2 suppressions
  1. 0 2
      drivers/s390/crypto/ap_bus.c

+ 0 - 2
drivers/s390/crypto/ap_bus.c

@@ -1666,8 +1666,6 @@ void ap_queue_message(struct ap_device *ap_dev, struct ap_message *ap_msg)
 		rc = -ENODEV;
 	}
 	spin_unlock_bh(&ap_dev->lock);
-	if (rc == -ENODEV)
-		device_unregister(&ap_dev->device);
 }
 EXPORT_SYMBOL(ap_queue_message);