Messages in this thread | | | Date | Tue, 23 Aug 2005 15:56:16 -0700 | From | George Anzinger <> | Subject | Re: [PATCH 3/3] Add disk hotswap support to libata RESEND #2 |
| |
Jim Ramsay wrote: > On 8/23/05, Jim Ramsay <jim.ramsay@gmail.com> wrote: > >>Then I must have found an undocumented feature! I've applied this set >>of patches to a 2.6.11 kernel (with few problems) and ran into a bunch >>of "scheduling while atomic" errors when hotplugging a drive, culprit >>being probably scsi_sysfs.c where scsi_remove_device locks a mutex, or >>perhaps when it then calls class_device_unregister, which does a >>'down_write'. > > > After further debugging, it appears that the problem is the debounce > timer in libata-core.c. > > Timers appear to operate in an atomic context, so timers should not be > allowed to call scsi_remove_device, which eventually schedules. > > Any suggestions on the best way to fix this?
Workqueue, perhaps. >
-- George Anzinger george@mvista.com HRT (High-res-timers): http://sourceforge.net/projects/high-res-timers/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |