This patch fixes incorrect irq data type in the driver which led driver initialization failure in some cases.
The problem was reported by Eric @. Biederman <[email protected]>.
Signed-off-by: Seokmann Ju <[email protected]>
---
diff -Naur old/Documentation/scsi/ChangeLog.megaraid new/Documentation/scsi/ChangeLog.megaraid
--- old/Documentation/scsi/ChangeLog.megaraid 2006-08-08 15:52:49.000000000 -0400
+++ new/Documentation/scsi/ChangeLog.megaraid 2006-08-09 08:39:18.000000000 -0400
@@ -1,5 +1,5 @@
Release Date : Fri May 19 09:31:45 EST 2006 - Seokmann Ju <[email protected]>
-Current Version : 2.20.4.9 (scsi module), 2.20.2.6 (cmm module)
+Current Version : 2.20.4.9 (scsi module), 2.20.2.7 (cmm module)
Older Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
1. Fixed a bug in megaraid_init_mbox().
@@ -121,6 +121,23 @@
> **************************************************************
> ****************
+4. Incorrect data type has been used for 'irq' variable in the driver
+ as pointed out by Eric below.
+
+ > Sent: Monday, August 07, 2006 11:29 AM
+ > Subject: [PATCH] megaraid: Use the proper type to hold the irq number.
+ >
+ > When testing on a Unisys machine it was discovered that
+ > the megaraid driver would not initialize as it was
+ > requesting irq 162 instead of irq 1442 it was assigned.
+ > The problem was the irq number had been truncated by being
+ > stored in an unsigned char.
+ >
+ > The ioctl interface appears fundamentally broken as it exports
+ > the irq number to user space in an unsigned char.
+ >
+ > Signed-off-by: Eric W. Biederman <[email protected]>
+
Release Date : Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <[email protected]>
Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module)
Older Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module)
diff -Naur old/drivers/scsi/megaraid/mega_common.h new/drivers/scsi/megaraid/mega_common.h
--- old/drivers/scsi/megaraid/mega_common.h 2006-08-08 15:53:44.000000000 -0400
+++ new/drivers/scsi/megaraid/mega_common.h 2006-08-08 15:56:03.000000000 -0400
@@ -175,7 +175,7 @@
uint8_t max_lun;
uint32_t unique_id;
- uint8_t irq;
+ unsigned int irq;
uint8_t ito;
caddr_t ibuf;
dma_addr_t ibuf_dma_h;
diff -Naur old/drivers/scsi/megaraid/megaraid_ioctl.h new/drivers/scsi/megaraid/megaraid_ioctl.h
--- old/drivers/scsi/megaraid/megaraid_ioctl.h 2006-08-08 15:53:44.000000000 -0400
+++ new/drivers/scsi/megaraid/megaraid_ioctl.h 2006-08-08 15:56:41.000000000 -0400
@@ -183,7 +183,7 @@
uint8_t pci_bus;
uint8_t pci_dev_fn;
uint8_t pci_slot;
- uint8_t irq;
+ unsigned int irq;
uint32_t unique_id;
uint32_t host_no;
@@ -209,7 +209,7 @@
typedef struct mcontroller {
uint64_t base;
- uint8_t irq;
+ unsigned int irq;
uint8_t numldrv;
uint8_t pcibus;
uint16_t pcidev;
---
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]