Re: [PATCH] USB: usb-skeleton.c: fix blocked forever in skel_read

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 13, 2013 at 11:15 PM, Oliver Neukum <oneukum@xxxxxxx> wrote:
> On Wednesday 13 March 2013 23:02:32 Ming Lei wrote:
>> On Wed, Mar 13, 2013 at 10:55 PM, Oliver Neukum <oneukum@xxxxxxx> wrote:
>> >
>> > But it will be run when the next read() call is made. The question is what happens
>>
>> When next read() is called, looks it won't be reached if
>> 'ongoing_read' is set, and
>> it needn't run without ongoing URBs.
>
> If ongoing_read is not set, IO may be started and its completion would
> not be waited for, as the IO that had been started, but wasn't waited
> for due to an interrupt, has completed.

OK, got it, so how about INIT_COMPLETION(&dev->bulk_in_completion)
in case of !ongoing_read? That means replacing 'if (!dev->processed_urb)'
with INIT_COMPLETION(&dev->bulk_in_completion).

Thanks,
-- 
Ming Lei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux