On Wed, Sep 24, 2014 at 12:19:13PM -0500, Felipe Balbi wrote:
> Hi,
> 
> On Wed, Sep 24, 2014 at 11:20:31AM -0500, Felipe Balbi wrote:
> > > > > > Therefore stalling is appropriate.  Why it causes it problem for 
> > > > > > your 
> > > > > > system is a different matter.  Is your UDC hardware capable of 
> > > > > > halting 
> > > > > > bulk endpoints?
> > > > > 
> > > > > yeah, that part is just fine; I also verified with my sniffer that 
> > > > > bulk
> > > > > halt is happening as it should. The problem, however, is that after 
> > > > > that
> > > > > halt condition happens, host (same board has xhci too, Linux 3.17-rc5)
> > > > > issues a reset recovery
> > > > 
> > > > It shouldn't; there's no reason for it to do so.  Unless something 
> > > > else is going wrong on the host side.  Have you tried capturing a 
> > > > usbmon trace on the host?
> > > 
> > > I'll capture usbmon and send here shortly.
> > 
> > here it is... Interesting part starts at line 73 (114 on this email)
> > where the data transport received EPIPE (due to Stall). This time
> > however, I was eventually able to talk to the device and managed to
> > issue quite a few writes to it.
> 
> so here's sequence of events so far:
> 
> - Enumration goes fine
> - Get Max Lun                         -> 0 (single lun)
> - Inquiry                             -> Passed
> - Test Unit Ready                     -> Failed
> - Request Sense (Unit Attention)      -> Passed
> - Test Unit Ready                     -> Passed
> - Mode Sense                          -> Stall of Data transport.
>       - Clear Endpoint Feature (HALT) EP1 IN
>       - After clear feature, a 16 bulk in completes. Shouldn't gadget
>         driver have cancelled that ?
> - Bus reset

looking into the SCSI glue, it seems like scsi is calling
->eh_bus_reset_handler() instead of ->eh_device_reset_handler(). Digging
a little more.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to