diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2015-05-22 22:28:15 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2015-05-26 10:44:46 -0400 |
commit | 2b12978928e902d234104b24f589bbe38909fad7 (patch) | |
tree | 09af6335bf0f0dc210f47be97c25df822305138e /drivers | |
parent | 7cc99f1e9ae0e657c9a9126d042a342ea786ef08 (diff) |
usb: phy: ab8500-usb: Pass the IRQF_ONESHOT flag
Since commit 1c6c69525b40 ("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail.
So pass the IRQF_ONESHOT flag in this case.
The semantic patch that makes this change is available
in scripts/coccinelle/misc/irqf_oneshot.cocci.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/phy/phy-ab8500-usb.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/usb/phy/phy-ab8500-usb.c b/drivers/usb/phy/phy-ab8500-usb.c index 7225d526df04..03ab0c699f74 100644 --- a/drivers/usb/phy/phy-ab8500-usb.c +++ b/drivers/usb/phy/phy-ab8500-usb.c | |||
@@ -1179,7 +1179,7 @@ static int ab8500_usb_irq_setup(struct platform_device *pdev, | |||
1179 | } | 1179 | } |
1180 | err = devm_request_threaded_irq(&pdev->dev, irq, NULL, | 1180 | err = devm_request_threaded_irq(&pdev->dev, irq, NULL, |
1181 | ab8500_usb_link_status_irq, | 1181 | ab8500_usb_link_status_irq, |
1182 | IRQF_NO_SUSPEND | IRQF_SHARED, | 1182 | IRQF_NO_SUSPEND | IRQF_SHARED | IRQF_ONESHOT, |
1183 | "usb-link-status", ab); | 1183 | "usb-link-status", ab); |
1184 | if (err < 0) { | 1184 | if (err < 0) { |
1185 | dev_err(ab->dev, "request_irq failed for link status irq\n"); | 1185 | dev_err(ab->dev, "request_irq failed for link status irq\n"); |
@@ -1195,7 +1195,7 @@ static int ab8500_usb_irq_setup(struct platform_device *pdev, | |||
1195 | } | 1195 | } |
1196 | err = devm_request_threaded_irq(&pdev->dev, irq, NULL, | 1196 | err = devm_request_threaded_irq(&pdev->dev, irq, NULL, |
1197 | ab8500_usb_disconnect_irq, | 1197 | ab8500_usb_disconnect_irq, |
1198 | IRQF_NO_SUSPEND | IRQF_SHARED, | 1198 | IRQF_NO_SUSPEND | IRQF_SHARED | IRQF_ONESHOT, |
1199 | "usb-id-fall", ab); | 1199 | "usb-id-fall", ab); |
1200 | if (err < 0) { | 1200 | if (err < 0) { |
1201 | dev_err(ab->dev, "request_irq failed for ID fall irq\n"); | 1201 | dev_err(ab->dev, "request_irq failed for ID fall irq\n"); |
@@ -1211,7 +1211,7 @@ static int ab8500_usb_irq_setup(struct platform_device *pdev, | |||
1211 | } | 1211 | } |
1212 | err = devm_request_threaded_irq(&pdev->dev, irq, NULL, | 1212 | err = devm_request_threaded_irq(&pdev->dev, irq, NULL, |
1213 | ab8500_usb_disconnect_irq, | 1213 | ab8500_usb_disconnect_irq, |
1214 | IRQF_NO_SUSPEND | IRQF_SHARED, | 1214 | IRQF_NO_SUSPEND | IRQF_SHARED | IRQF_ONESHOT, |
1215 | "usb-vbus-fall", ab); | 1215 | "usb-vbus-fall", ab); |
1216 | if (err < 0) { | 1216 | if (err < 0) { |
1217 | dev_err(ab->dev, "request_irq failed for Vbus fall irq\n"); | 1217 | dev_err(ab->dev, "request_irq failed for Vbus fall irq\n"); |