Patchwork pata_artop: Fix device ID parity check

login
register
mail settings
Submitter Jean Delvare
Date Aug. 30, 2010, 3:37 p.m.
Message ID <201008301737.05459.jdelvare@suse.de>
Download mbox | patch
Permalink /patch/63050/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Jean Delvare - Aug. 30, 2010, 3:37 p.m.
x % 1 always evaluates to 0, which clearly isn't the intent. The
author probably had "% 2" or "& 1" in mind, and mispelled it.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Alan Cox <alan@linux.intel.com>
---
Notice: I don't have the hardware so this fix is untested, bug was
found by code inspection.

 drivers/ata/pata_artop.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Patch

--- linux-2.6.36-rc3.orig/drivers/ata/pata_artop.c	2010-08-02 00:11:14.000000000 +0200
+++ linux-2.6.36-rc3/drivers/ata/pata_artop.c	2010-08-30 17:07:17.000000000 +0200
@@ -74,7 +74,8 @@  static int artop6260_pre_reset(struct at
 	struct pci_dev *pdev = to_pci_dev(ap->host->dev);
 
 	/* Odd numbered device ids are the units with enable bits (the -R cards) */
-	if (pdev->device % 1 && !pci_test_config_bits(pdev, &artop_enable_bits[ap->port_no]))
+	if ((pdev->device & 1) &&
+	    !pci_test_config_bits(pdev, &artop_enable_bits[ap->port_no]))
 		return -ENOENT;
 
 	return ata_sff_prereset(link, deadline);