pata_arasan_cf: fix IRQ check
authorSergey Shtylyov <s.shtylyov@omprussia.ru>
Thu, 25 Mar 2021 20:50:24 +0000 (23:50 +0300)
committerJens Axboe <axboe@kernel.dk>
Fri, 26 Mar 2021 23:13:02 +0000 (17:13 -0600)
commitc7e8f404d56b99c80990b19a402c3f640d74be05
tree98786cc71912c7dff969d39b76e5e402ae89c0f9
parent2b0a9946bf9e182b77d500ac182f73d5078c7ef1
pata_arasan_cf: fix IRQ check

The driver's probe() method is written as if platform_get_irq() returns 0
on error, while actually it returns a negative error code (with all the
other values considered valid IRQs). Rewrite the driver's IRQ checking code
to pass the positive IRQ #s to ata_host_activate(), propagate upstream
-EPROBE_DEFER, and set up the driver to polling mode on (negative) errors
and IRQ0 (libata treats IRQ #0 as a polling mode anyway)...

Fixes: a480167b23ef ("pata_arasan_cf: Adding support for arasan compact flash host controller")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/ata/pata_arasan_cf.c