linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Stern <stern@rowland.harvard.edu>
To: Kento.A.Kobayashi@sony.com
Cc: bvanassche@acm.org, <martin.petersen@oracle.com>,
	<jejb@linux.ibm.com>, <oneukum@suse.com>,
	<gregkh@linuxfoundation.org>,
	<usb-storage@lists.one-eyed-alien.net>, <Jacky.Cao@sony.com>,
	<linux-kernel@vger.kernel.org>, <linux-scsi@vger.kernel.org>,
	<linux-usb@vger.kernel.org>
Subject: RE: [PATCH] usb: uas: fix usb subsystem hang after power off hub port
Date: Mon, 15 Apr 2019 11:18:30 -0400 (EDT)	[thread overview]
Message-ID: <Pine.LNX.4.44L0.1904151107350.1575-100000@iolanthe.rowland.org> (raw)
In-Reply-To: <AE5419EAB4965843B3C0C1FE29F1FFE5899C80@JPYOKXMS103.jp.sony.com>

On Mon, 15 Apr 2019 Kento.A.Kobayashi@sony.com wrote:

> Hi
> 
> >The unbind happens from inside the SCSI EH callback.  If that really is not allowed, we'll need to change it.  Or we can just change it regardless, since the effort required is pretty small.
> >
> >Kento, please try the patch below.  Does it help with your problem?
> 
> Thank you for suggestion about this problem.
> I confirmed your patch fixes this problem.

Good; I will submit it.

> I think you change policy for error handler to not calling unbind, right?

That's right.

> In addition, I have a question about this patch.
> Could you please tell me why it should not be allowed that the unbind is occurred from eh callback?

The SCSI core does not handle unbind properly when it occurs inside an 
error handler callback.  If you want to know more about why the SCSI 
core behaves this way, you should ask the SCSI developers -- I don't 
know the answer.

> This patch will ignore all error which is returned from usb_reset_and_verify_device.
> But my patch will ignore error only being returned ENODEV case.
> I think side effect of your patch is bigger than my patch.

The only other errors that usb_reset_and_verify_device() can return are 
EINVAL and EISDIR.  These error codes occur in three situations:

	The device has already been disconnected;

	The device has no parent hub (it is a root hub);

	The device is currently suspended.

The first situation is just as bad as -ENODEV.  The second cannot
happen for a USB mass storage device.  The third can happen only if an
error occurs when usb_reset_device() tries to carry out a resume, and
that's also just as bad as -ENODEV.

So although the side effects are larger than with your patch, they are 
not any worse.  Furthermore, they handle correctly some situations that 
your patch does not handle.

> So I want to know why the unbind is occurred from eh callback should not be allowed.

Ask the SCSI developers.

Alan Stern


  reply	other threads:[~2019-04-15 15:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-08  9:13 [PATCH] usb: uas: fix usb subsystem hang after power off hub port Kento.A.Kobayashi
2019-03-08 16:52 ` Oliver Neukum
2019-03-08 17:33   ` Alan Stern
2019-03-11  8:36   ` Kento.A.Kobayashi
2019-03-12 15:37     ` Oliver Neukum
2019-03-15  2:28       ` Kento.A.Kobayashi
2019-03-25 10:21         ` Kento.A.Kobayashi
2019-03-25 10:34           ` Oliver Neukum
2019-03-28  7:53             ` Kento.A.Kobayashi
2019-03-28 15:15               ` Oliver Neukum
2019-03-28 15:57                 ` Alan Stern
2019-03-28 16:49                   ` Oliver Neukum
2019-03-29 14:13                     ` Alan Stern
2019-04-02  0:28                 ` Kento.A.Kobayashi
2019-04-02 14:38                   ` Alan Stern
2019-04-04  3:57                     ` Kento.A.Kobayashi
2019-04-04 19:33                       ` Alan Stern
2019-04-09  0:28                         ` Kento.A.Kobayashi
2019-04-09  1:21                           ` Alan Stern
2019-04-09  2:10                         ` Martin K. Petersen
2019-04-09 14:44                           ` Alan Stern
2019-04-09 15:16                             ` Bart Van Assche
2019-04-09 16:45                               ` Alan Stern
2019-04-15  0:27                                 ` Kento.A.Kobayashi
2019-04-15 15:18                                   ` Alan Stern [this message]
2019-04-15 15:32                                     ` Alan Stern
2019-04-16  2:31                                       ` Kento.A.Kobayashi
2019-04-10  2:11                               ` Martin K. Petersen
     [not found] <16EA1F625E922C43B00B9D8225022050086961B5@APYOKXMS108.ap.sony.com>
2019-03-04  6:23 ` Greg KH
2019-03-04  7:19   ` Jacky.Cao

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=Pine.LNX.4.44L0.1904151107350.1575-100000@iolanthe.rowland.org \
    --to=stern@rowland.harvard.edu \
    --cc=Jacky.Cao@sony.com \
    --cc=Kento.A.Kobayashi@sony.com \
    --cc=bvanassche@acm.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=oneukum@suse.com \
    --cc=usb-storage@lists.one-eyed-alien.net \
    /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;
as well as URLs for NNTP newsgroup(s).