|
@@ -1179,7 +1179,7 @@ static int ab8500_usb_irq_setup(struct platform_device *pdev,
|
|
}
|
|
}
|
|
err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
|
|
err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
|
|
ab8500_usb_link_status_irq,
|
|
ab8500_usb_link_status_irq,
|
|
- IRQF_NO_SUSPEND | IRQF_SHARED,
|
|
|
|
|
|
+ IRQF_NO_SUSPEND | IRQF_SHARED | IRQF_ONESHOT,
|
|
"usb-link-status", ab);
|
|
"usb-link-status", ab);
|
|
if (err < 0) {
|
|
if (err < 0) {
|
|
dev_err(ab->dev, "request_irq failed for link status irq\n");
|
|
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,
|
|
}
|
|
}
|
|
err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
|
|
err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
|
|
ab8500_usb_disconnect_irq,
|
|
ab8500_usb_disconnect_irq,
|
|
- IRQF_NO_SUSPEND | IRQF_SHARED,
|
|
|
|
|
|
+ IRQF_NO_SUSPEND | IRQF_SHARED | IRQF_ONESHOT,
|
|
"usb-id-fall", ab);
|
|
"usb-id-fall", ab);
|
|
if (err < 0) {
|
|
if (err < 0) {
|
|
dev_err(ab->dev, "request_irq failed for ID fall irq\n");
|
|
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,
|
|
}
|
|
}
|
|
err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
|
|
err = devm_request_threaded_irq(&pdev->dev, irq, NULL,
|
|
ab8500_usb_disconnect_irq,
|
|
ab8500_usb_disconnect_irq,
|
|
- IRQF_NO_SUSPEND | IRQF_SHARED,
|
|
|
|
|
|
+ IRQF_NO_SUSPEND | IRQF_SHARED | IRQF_ONESHOT,
|
|
"usb-vbus-fall", ab);
|
|
"usb-vbus-fall", ab);
|
|
if (err < 0) {
|
|
if (err < 0) {
|
|
dev_err(ab->dev, "request_irq failed for Vbus fall irq\n");
|
|
dev_err(ab->dev, "request_irq failed for Vbus fall irq\n");
|