mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
USB: add support for Motorola ROKR Z6 cellphone in mass storage mode
Motorola ROKR Z6 cellphone has bugs in its USB, so it is impossible to use it as mass storage. Patch describes new "unusual" USB device for it with FIX_INQUIRY and FIX_CAPACITY flags and new BULK_IGNORE_TAG flag. Last flag relaxes check for equality of bcs->Tag and us->tag in usb_stor_Bulk_transport routine. Signed-off-by: Constantin Baranov <[email protected]> Signed-off-by: Matthew Dharm <[email protected]> Signed-off-by: Daniel Drake <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
ba2ef3b36c
commit
cc36bdd47a
3 changed files with 16 additions and 2 deletions
|
|
@ -1009,7 +1009,8 @@ int usb_stor_Bulk_transport(struct scsi_cmnd *srb, struct us_data *us)
|
|||
US_DEBUGP("Bulk Status S 0x%x T 0x%x R %u Stat 0x%x\n",
|
||||
le32_to_cpu(bcs->Signature), bcs->Tag,
|
||||
residue, bcs->Status);
|
||||
if (bcs->Tag != us->tag || bcs->Status > US_BULK_STAT_PHASE) {
|
||||
if (!(bcs->Tag == us->tag || (us->flags & US_FL_BULK_IGNORE_TAG)) ||
|
||||
bcs->Status > US_BULK_STAT_PHASE) {
|
||||
US_DEBUGP("Bulk logical error\n");
|
||||
return USB_STOR_TRANSPORT_ERROR;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1589,6 +1589,17 @@ UNUSUAL_DEV( 0x22b8, 0x4810, 0x0001, 0x0001,
|
|||
US_SC_DEVICE, US_PR_DEVICE, NULL,
|
||||
US_FL_FIX_CAPACITY),
|
||||
|
||||
/*
|
||||
* Patch by Constantin Baranov <const@tltsu.ru>
|
||||
* Report by Andreas Koenecke.
|
||||
* Motorola ROKR Z6.
|
||||
*/
|
||||
UNUSUAL_DEV( 0x22b8, 0x6426, 0x0101, 0x0101,
|
||||
"Motorola",
|
||||
"MSnc.",
|
||||
US_SC_DEVICE, US_PR_DEVICE, NULL,
|
||||
US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),
|
||||
|
||||
/* Reported by Radovan Garabik <[email protected]> */
|
||||
UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999,
|
||||
"MPIO",
|
||||
|
|
|
|||
Loading…
Reference in a new issue