[PATCH 1/1] scsi : megaraid_{mm, mbox} : irq data type fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux