> -----Original Message----- > From: James Bottomley [mailto:James.Bottomley@xxxxxxxxxxxx] > Sent: Monday, December 05, 2005 3:32 PM > To: goggin, edward > Cc: 'Andrew Morton'; Wu Fengguang; > linux-kernel@xxxxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx > Subject: RE: [SCSI BUG 2.6.15-rc3-mm1] scheduling while > atomic on boot tim e > > On Fri, 2005-12-02 at 15:35 -0500, goggin, edward wrote: > > I think this is caused by my patch to scsi_next_command() > > (on or about 11/11) causing it to call put_device() and > > invoke the kobject's release() function while in soft > > interrupt. My patch should be removed ... although I > > don't have an alternate solution in mind for the original > > problem which was an "oops with USB Storage on 2.6.14". > > Yes and no. > > Reverting your patch won't fix the problem because scsi_put_command() > will then relinquish the last reference to the device and trigger the > same warning. Additionally, blk_run_queue now stands a good chance of > running on a freed queue which could trigger a panic. > > The problem seems to be that device_del() is apparently requiring user > context, if that's true, this will bite us not only here, but all over > the place like as a result of the call to put_device() at the bottom of scsi_request_fn() when called indirectly via scsi_next_command()'s call to scsi_run_queue() > ... in fact the fix might have to be to do the target reap > through a workqueue. > > Regardless, your patch isn't the culprit here, it's just the > thing which > is doing the last put. > > James > > > - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html