Messages in this thread | | | Subject | Re: [PATCH] scsi_lib.c: sleeping function called from invalid context | From | James Bottomley <> | Date | Tue, 06 Oct 2009 13:50:49 +0000 |
| |
On Tue, 2009-10-06 at 12:30 +0000, iceberg wrote: > James, what about code where spin_unlock is called before scsi_device_put, > especially for avoiding atomic context? > In code like > spin_unlock > scsi_device_put > spin_lock > Is spin_unlock/spin_lock redundant?
Depends on context ... most of them are actually swapping locks or providing pre-emption points ... it could be redundant, but doesn't have to be.
> Why do we need scsi_device_get/scsi_device_put pair in scsi_lib.c at all? If > we are sure that scsi_device_put is always not last, for what purpose do we > call it together with scsi_device_get in the loop?
We're not sure (and never can be in a hotplug world) that any put isn't the last one.
James
| |