We are running Android 4.4.3 with kernel 3.10.53 in i.mx6dl platform.
Recently we meet a problem that the usb port sometimes stops working when a udisk is plugged out after it is plugged in and being prepared by SCSI, by enabling some logs in scsi driver, I found that the problem usually happens when I plug out the device during a SCSI read(10) cmd is running, and the cmd will timeout, then the usb port stops working.
some logs are attached as files.
please help check if it is a bug of USB controller in i.MX6.
Original Attachment has been moved to: udiskerr6.log.zip
Original Attachment has been moved to: udiskerr5.log.zip
Original Attachment has been moved to: udiskerr7.log.zip
Hi,
If the USB enumeration process is interrupted, the driver state machine may stay in a blocking phase. It is not an expected behavior; in case that you would need to modify the driver structure, you may add some timeout for reestablishing the driver and freeing the memory and/or remounting the driver.
Anyway, it is recommended testing it on a newer Android BSP, as Kitkat is no longer supported.
Hope this will be useful for you.
Best regards!
/Carlos
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Add more info, after the issue happens , the usb port can not recognize any device until the board is reboot.
Hi,Carlos,
This issue does not happen always even the usb disk is plugged out during USB enumeration process, it happens usually if the usb device is plugged out when SCSI read(10) is sent to it (by SCSI driver).
I don't think this is relevant to Android KK, I wonder it is related to USB driver or USB controller (firmware, or hardware)?
Thanks!