]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/pci/htirq.c
pci: use pci_ioremap_bar() in drivers/ide
[linux-2.6-omap-h63xx.git] / drivers / pci / htirq.c
index 0a8d1cce9fa09c733601f142436a7b39f231e3ff..bf7d6ce9bbb3e764621caa96db426509003e2d46 100644 (file)
@@ -99,14 +99,7 @@ int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update)
        int pos;
        int irq;
 
-       pos = pci_find_capability(dev, PCI_CAP_ID_HT);
-       while (pos) {
-               u8 subtype;
-               pci_read_config_byte(dev, pos + 3, &subtype);
-               if (subtype == HT_CAPTYPE_IRQ)
-                       break;
-               pos = pci_find_next_capability(dev, pos, PCI_CAP_ID_HT);
-       }
+       pos = pci_find_ht_capability(dev, HT_CAPTYPE_IRQ);
        if (!pos)
                return -EINVAL;
 
@@ -133,7 +126,8 @@ int __ht_create_irq(struct pci_dev *dev, int idx, ht_irq_update_t *update)
        cfg->msg.address_hi = 0xffffffff;
 
        irq = create_irq();
-       if (irq < 0) {
+
+       if (irq <= 0) {
                kfree(cfg);
                return -EBUSY;
        }