From: Giuliano Pochini <pochini@shiny.it>
To: linux-scsi@vger.kernel.org
Subject: Toshiba USB disk stopped working in 3.10.3
Date: Sun, 4 Aug 2013 23:49:31 +0200 [thread overview]
Message-ID: <20130804234931.1d792792@wc1> (raw)
My Toshiba 1TB Stor.e basics does not work anymore since 3.10.3. I have
another USB3 disk which works fine. The kernel keeps writing this stuff in
the logs:
Aug 4 16:11:27 wc1 kernel: [ 286.384162] usb 4-4: Successful evaluate context command
Aug 4 16:11:27 wc1 kernel: [ 286.495466] usb 4-4: reset SuperSpeed USB device number 2 using xhci_hcd
Aug 4 16:11:27 wc1 kernel: [ 286.513937] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff880215ea3400
Aug 4 16:11:27 wc1 kernel: [ 286.513943] xhci_hcd 0000:00:14.0: xHCI xhci_drop_endpoint called with disabled ep ffff880215ea3440
Aug 4 16:11:27 wc1 kernel: [ 286.514026] usb 4-4: Successful Endpoint Configure command
Aug 4 16:11:27 wc1 kernel: [ 286.514203] usb 4-4: Successful evaluate context command
Aug 4 16:11:27 wc1 kernel: [ 286.514376] usb 4-4: Successful evaluate context command
and /lib/udev/ata_id stays blocked in D state.
The change that causes the problem (below) looks fine, so I'm not sure reverting it is the right fix.
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c
index 2c0d0ec8..3b1ea34e 100644
--- a/drivers/scsi/scsi.c
+++ b/drivers/scsi/scsi.c
@@ -1070,8 +1070,8 @@ EXPORT_SYMBOL_GPL(scsi_get_vpd_page);
* @opcode: opcode for command to look up
*
* Uses the REPORT SUPPORTED OPERATION CODES to look up the given
- * opcode. Returns 0 if RSOC fails or if the command opcode is
- * unsupported. Returns 1 if the device claims to support the command.
+ * opcode. Returns -EINVAL if RSOC fails, 0 if the command opcode is
+ * unsupported and 1 if the device claims to support the command.
*/
int scsi_report_opcode(struct scsi_device *sdev, unsigned char *buffer,
unsigned int len, unsigned char opcode)
@@ -1081,7 +1081,7 @@ int scsi_report_opcode(struct scsi_device *sdev, unsigned char *buffer,
int result;
if (sdev->no_report_opcodes || sdev->scsi_level < SCSI_SPC_3)
- return 0;
+ return -EINVAL;
memset(cmd, 0, 16);
cmd[0] = MAINTENANCE_IN;
@@ -1097,7 +1097,7 @@ int scsi_report_opcode(struct scsi_device *sdev, unsigned char *buffer,
if (result && scsi_sense_valid(&sshdr) &&
sshdr.sense_key == ILLEGAL_REQUEST &&
(sshdr.asc == 0x20 || sshdr.asc == 0x24) && sshdr.ascq == 0x00)
- return 0;
+ return -EINVAL;
if ((buffer[1] & 3) == 3) /* Command supported */
return 1;
--
Giuliano.
next reply other threads:[~2013-08-04 21:48 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-04 21:49 Giuliano Pochini [this message]
2013-08-06 2:59 ` Toshiba USB disk stopped working in 3.10.3 Martin K. Petersen
2013-08-06 22:25 ` Giuliano Pochini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130804234931.1d792792@wc1 \
--to=pochini@shiny.it \
--cc=linux-scsi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox