Re: WUSB driver crash after DN_CONNECT message from WUSB device

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

 



eyal reizer wrote:
> Hello David,
> 
> I found what was the cause for the previous crash.
> It was the init sequence.
> 
> 1. in 'devconnect.c' in the function 'wusbhc_devconnect_ack()' the
> driver calls:
> 
> wusbhc->set_ptk(wusbhc, idx, 0, NULL, 0);
> 
> This is done before the device info structure was filled (by calling
> wusbhc_cack_add which is done a couple of steps later.
> This caused an assert in the firmware of the HWA as the device address
> was not known to it yet.
> When i reversed the order of the calls the crash did not happen anymore.
> What do you think, is it OK to do it?

Yes, can you produce a patch, please?

(You should probably get the firmware bug fixed too.)

> 2. After solving this, the connection process continued and then was
> halted when the driver tried to set the RPIPE descriptor with a value of
> 0 written to the MaxBurst field of the RPIPE descriptor. This caused
> another assert in the HWA firmware.

I guess this is for remote device's ep0. bMaxBurst should 1 and
bMaxSequence should be 2.

Can you produce a patch for this?

> When changing this value from 0 to something else the process continued.
> The change i did was in rpipe_aim() function in wa-rpipe.c
> What is your view on this change?
> 
> 
> 3. Now the system doesn't crash anymore but i see the following error:
> 
> [  169.976034] hwa-hc 5-3.3:1.0: DN CONNECT: device 3f 04 6d 4f ce c2 64
> fa df 36 c8 c2 f8 d4 e2 9a @ 0 (self-beacon) wants to reconnect
> [  169.976037] Eyal -> wusbhc_handle_dn_connect -> dnc = 0 
> [  169.976041] hwa-hc 5-3.3:1.0: DN CONNECT: device 3f 04 6d 4f ce c2 64
> fa df 36 c8 c2 f8 d4 e2 9a @ 0 (self-beacon) wants to reconnect
> [  169.976044] Eyal -> wusbhc_handle_dn_connect -> dnc = 0 
> [  169.976047] hwa-hc 5-3.3:1.0: DN CONNECT: device 3f 04 6d 4f ce c2 64
> fa df 36 c8 c2 f8 d4 e2 9a @ 0 (self-beacon) wants to reconnect
> [  170.272026] usb 6-1: new variable speed Wireless USB device using
> hwa-hc and address 2
> [  170.282785] xfer f0f57c40#0: REQ submit failed: -2

This seems to be because the urb for the segment is queued to a endpoint
that doesn't exist. Doesn't make any sense to me, I'm completely
unfamiliar with the WA code.

David
-- 
David Vrabel, Senior Software Engineer, Drivers
CSR, Churchill House, Cambridge Business Park,  Tel: +44 (0)1223 692562
Cowley Road, Cambridge, CB4 0WZ                 http://www.csr.com/
--
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