Hello.

On 04/20/2015 11:04 PM, Joe Lawrence wrote:

So -ESHUTDOWN = -108 (0xffffff94) provoked bad_action_ret into reporting
a bogus return value and stack trace above.

As far as I know, -Eanything is never a valid return code for an IRQ
handler.  Shouldn't this always return either IRQ_NONE or IRQ_HANDLED?

Hi Alan -- I would think so, though the stack trace in the STS_FATAL
case might interesting to somebody?  (Not sure what info in such trace
is useful since it's an irq handler.)  Even then, it should probably be
replaced with a WARN_ONCE or similar instead of inadvertently through
the bogus irq return value.

How about the following one-liner?

-- Joe

-->8-- -->8-- -->8--

 From f8030d1cabbab1e7e5b0a0ba67fa4cd0a944d416 Mon Sep 17 00:00:00 2001
From: Joe Lawrence <joe.lawre...@stratus.com>
Date: Mon, 20 Apr 2015 15:40:47 -0400
Subject: [PATCH] xhci: gracefully handle xhci_irq dead device

If the xHCI host controller has died (ie, device removed) or suffered
other serious fatal error (STS_FATAL), then xhci_irq should handle this
condition with IRQ_HANDLED instead of -ESHUTDOWN.

These two are different cases I think, device removed case should return IRQ_NONE, and fatal error shuld return IRQ_HANDLED.

Signed-off-by: Joe Lawrence <joe.lawre...@stratus.com>

[...]

WBR, Sergei

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to