diff mbox series

pata_octeon_cf: avoid WARN_ON() in ata_host_activate()

Message ID 3a241167-f84d-1d25-5b9b-be910afbe666@omp.ru
State New
Headers show
Series pata_octeon_cf: avoid WARN_ON() in ata_host_activate() | expand

Commit Message

Sergey Shtylyov May 18, 2021, 8:38 p.m. UTC
Iff platform_get_irq() fails (or returns IRQ0) and thus the polling mode
has to be used, ata_host_activate() hits the WARN_ON() due to 'irq_handler'
parameter being non-NULL if the polling mode is selected.  Let's only set
the pointer to the driver's IRQ handler if platform_get_irq() returns a
valid IRQ # -- this should avoid the unnecessary WARN_ON()...

Fixes: 3c929c6f5aa7 ("MIPS/OCTEON/ata: Convert pata_octeon_cf.c to use device tree.")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>

---
This patch is against the 'master' branch of Jens Axboe's 'linux-block.git'
repo.

 drivers/ata/pata_octeon_cf.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Jens Axboe May 18, 2021, 9:23 p.m. UTC | #1
On 5/18/21 2:38 PM, Sergey Shtylyov wrote:
> Iff platform_get_irq() fails (or returns IRQ0) and thus the polling mode
> has to be used, ata_host_activate() hits the WARN_ON() due to 'irq_handler'
> parameter being non-NULL if the polling mode is selected.  Let's only set
> the pointer to the driver's IRQ handler if platform_get_irq() returns a
> valid IRQ # -- this should avoid the unnecessary WARN_ON()...

Applied, thanks.
diff mbox series

Patch

Index: linux-block/drivers/ata/pata_octeon_cf.c
===================================================================
--- linux-block.orig/drivers/ata/pata_octeon_cf.c
+++ linux-block/drivers/ata/pata_octeon_cf.c
@@ -898,10 +898,11 @@  static int octeon_cf_probe(struct platfo
 					return -EINVAL;
 				}
 
-				irq_handler = octeon_cf_interrupt;
 				i = platform_get_irq(dma_dev, 0);
-				if (i > 0)
+				if (i > 0) {
 					irq = i;
+					irq_handler = octeon_cf_interrupt;
+				}
 			}
 			of_node_put(dma_node);
 		}