Re: USB g_mass_storage weirdness

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

 



Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> writes:
> On Tue, 31 May 2016, Felipe Balbi wrote:
>
>> I've sprinkled a few trace_printk() around in g_mass_storage and got
>> some extra info. So here's a good transfer:
>
> ...
>
>> And here's the bad case (with the last working WRITE_10):
>> 
>> >  irq/17-dwc3-1336  [000] d...   839.825613: fsg_common_set_inquiry_string: ep1out: 31/1024 --> 0
>> 
>> We get CBW and wakeup our mass storage kthread...
>> 
>> > file-storage-1335  [002] ....   839.825621: fsg_common_put: WRITE_10
>> 
>> ... which parses it and starts all the transfers below
>> 
>> >  irq/17-dwc3-1336  [000] d...   839.825708: fsg_common_set_inquiry_string: ep1out: 16384/16384 --> 0
>> >  irq/17-dwc3-1336  [000] d...   839.825783: fsg_common_set_inquiry_string: ep1out: 16384/16384 --> 0
>
> Why do all these lines say "fsg_common_set_inquiry_string"?  That 
> routine gets used only when processing INQUIRY commands.

no idea, just calling trace_printk(). Maybe some trace_printk() bug
resolving caller symbols...

>> total of 1MiB transferred
>> 
>> >  irq/17-dwc3-1336  [000] d...   839.828020: fsg_common_set_inquiry_string: ep1in: 13/13 --> 0
>> 
>> Our CSW completes fine
>> 
>> >  irq/17-dwc3-1336  [000] d...   839.828022: fsg_common_set_inquiry_string: ep1out: 31/1024 --> 0
>> 
>> 2 us later, we receive another CBW, but the thread doesn't run. Any ideas?
>> 
>> >  irq/17-dwc3-1336  [000] d...   901.049297: fsg_common_set_inquiry_string: ep1out: 31/1024 --> 0
>
> The CBW is received by get_next_command(), which runs in the fsg
> thread.  Therefore the thread is already running; the question is why
> doesn't it continue?
>
> You might want to add some debugging to fsg_main_thread() to see what 
> happens with the return codes from get_next_command(), 
> do_scsi_command(), and finish_reply().

I'll do that

>> I wonder if common->thread_wakeup_needed is racing.
>
> That can't be the cause, because the thread is already running.

okay

-- 
balbi

Attachment: signature.asc
Description: PGP signature


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

  Powered by Linux