cciss update [6/8] pci_dev->irq fix

From: mikem
Date: Tue Aug 10 2004 - 11:21:51 EST



Patch 6 of 8

This patch fixes our usage of pdev->intr. We were truncating it to an
unchar. We were also reading it before calling pci_enable_device. This
patch fixes both of those. Thanks to Bjorn Helgaas for the patch.
Patch applies to 2.6.8-rc4. Please apply in order.

Thanks,
mikem
-------------------------------------------------------------------------------
diff -burpN lx268-rc3-p005/drivers/block/cciss.c lx268-rc3/drivers/block/cciss.c
--- lx268-rc3-p005/drivers/block/cciss.c 2004-08-05 11:21:05.069294000 -0500
+++ lx268-rc3/drivers/block/cciss.c 2004-08-05 11:30:40.761776344 -0500
@@ -2300,7 +2300,6 @@ static int find_PCI_BAR_index(struct pci
static int cciss_pci_init(ctlr_info_t *c, struct pci_dev *pdev)
{
ushort subsystem_vendor_id, subsystem_device_id, command;
- unchar irq = pdev->irq;
__u32 board_id, scratchpad = 0;
__u64 cfg_offset;
__u32 cfg_base_addr;
@@ -2359,11 +2358,11 @@ static int cciss_pci_init(ctlr_info_t *c

#ifdef CCISS_DEBUG
printk("command = %x\n", command);
- printk("irq = %x\n", irq);
+ printk("irq = %x\n", pdev->irq);
printk("board_id = %x\n", board_id);
#endif /* CCISS_DEBUG */

- c->intr = irq;
+ c->intr = pdev->irq;

/*
* Memory base addr is first addr , the second points to the config
diff -burpN lx268-rc3-p005/drivers/block/cciss.h lx268-rc3/drivers/block/cciss.h
--- lx268-rc3-p005/drivers/block/cciss.h 2004-06-16 00:18:37.000000000 -0500
+++ lx268-rc3/drivers/block/cciss.h 2004-08-05 11:30:40.762776192 -0500
@@ -48,7 +48,7 @@ struct ctlr_info
unsigned long io_mem_addr;
unsigned long io_mem_length;
CfgTable_struct *cfgtable;
- int intr;
+ unsigned int intr;
int interrupts_enabled;
int max_commands;
int commands_outstanding;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/