void scsi_eh_lock_door (struct scsi_device * sdev);
We must be called from process context; scsi_allocate_request may sleep.
We queue up an asynchronous ``ALLOW MEDIUM REMOVAL'' request on the head of the devices request queue, and continue.
scsi_allocate_request may sleep waiting for existing requests to be processed. However, since we haven't kicked off any request processing for this host, this may deadlock.
If scsi_allocate_request fails for what ever reason, we completely forget to lock the door.