Re: [PATCH] pata_platform struct resource signness fix
From: Li Yang <hidden>
Date: 2008-09-25 10:41:02
Also in:
linux-ide
On Thu, Sep 25, 2008 at 4:54 PM, Wang Jian [off-list ref] wrote:
The alternative fix can be.
This one is better as 0 is defined as 'invalid irq' for all architectures. Added linux-ide and Anton to cc. - Leo
quoted hunk ↗ jump to hunk
diff --git a/drivers/ata/pata_of_platform.c b/drivers/ata/pata_of_platform.c index 408da30..1f18ad9 100644 --- a/drivers/ata/pata_of_platform.c +++ b/drivers/ata/pata_of_platform.c@@ -52,7 +52,7 @@ static int __devinit pata_of_platform_probe(structof_device *ofdev, ret = of_irq_to_resource(dn, 0, &irq_res); if (ret == NO_IRQ) - irq_res.start = irq_res.end = -1; + irq_res.start = irq_res.end = 0; else irq_res.flags = 0; I just didn't spend much time to see which is better. Wang Jian wrote:quoted
Hi, This patch is to pata_platform.c but at this time, it's powerpc specific because it can only be triggerred using openfirmware, so I post the patch here. The patch is against 2.6.26-rc8. The problem is triggerred when ata device is populated using pata_of_platform.c, and no irq is assigned (poll mode, such as CF card). pata_of_platform_probe() parse device tree and if (ret == NO_IRQ) irq_res.start = irq_res.end = -1; Then irq is 0xffffffff, not NULL. Probe will fail coz irq can't be requested. --- (irq_res->start > 0) will be true even when it is (-1). When the device has no irq, irq_res->start is assigned (-1). Signed-off-by: Wang Jian <redacted> --- drivers/ata/pata_platform.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c index 8f65ad6..b12cd0c 100644 --- a/drivers/ata/pata_platform.c +++ b/drivers/ata/pata_platform.c@@ -123,7 +123,7 @@ int __devinit __pata_platform_probe(struct device*dev, /* * And the IRQ */ - if (irq_res && irq_res->start > 0) { + if (irq_res && irq_res->start != -1) { irq = irq_res->start; irq_flags = irq_res->flags; }_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev