Messages in this thread | | | Subject | Re: [PATCH 1/2] MEMSTICK: fix hangs on unexpected device removal in mspro_blk | From | Maxim Levitsky <> | Date | Thu, 05 Aug 2010 00:41:32 +0300 |
| |
On Wed, 2010-08-04 at 19:53 +0300, Maxim Levitsky wrote: > On Wed, 2010-08-04 at 00:50 -0700, Alex Dubov wrote: > > --- On Tue, 3/8/10, Maxim Levitsky <maximlevitsky@gmail.com> wrote: > > > > > Now that del_gendisk syncs, we better > > > start rejecting requests right away. > > > > > > I don't quite see why this change is needed. My understanding is, user > > accessible interface should be marked as removed as early, as possible. > > The problem here is that del_gendisk, syncs the device. > This is new change, made after you did your drivers. > > I have this problem on jMicron too (which otherwise works fine). The problem is that card check thread explicitly calls ->stop before removing the device. In case of mspro_blk.c that stops the request queue. Attempt to call del_gendisk with stopped request queue hangs due to syncing.
> > > PS: > > I have a copy of your ms_block.c. > I would would be very happy if you share with me, what problems does it > still have (besides need of trivial port for changes in block system, > because I want to push it upstream too. > > I have MS DUO 64M to test it against. > > Best regards, Maxim Levitsky
| |