* [PATCH 1/1] 3ware 9000 disable local irqs during kmap_atomic
@ 2006-04-11 18:25 adam radford
2006-04-11 18:53 ` Jeff Garzik
0 siblings, 1 reply; 4+ messages in thread
From: adam radford @ 2006-04-11 18:25 UTC (permalink / raw)
To: James Bottomley, SCSI Mailing List
[-- Attachment #1: Type: text/plain, Size: 1788 bytes --]
The attached patch for 2.6.17-rc2 updates the 3ware 9000 driver:
- Disable local interrupts during kmap/unmap_atomic().
Signed-off-by: Adam Radford <linuxraid@amcc.com>
James, Please apply
Thanks!
-Adam
Note: The patch is attached as an attachment, and also included
in-line below. The below may have line-wrap issues since I'm pasting
into gmail.
diff -Naur linux-2.6.17-rc1/drivers/scsi/3w-9xxx.c
linux-2.6.17-rc2/drivers/scsi/3w-9xxx.c
--- linux-2.6.17-rc1/drivers/scsi/3w-9xxx.c 2006-04-10 15:50:35.000000000 -0700
+++ linux-2.6.17-rc2/drivers/scsi/3w-9xxx.c 2006-04-11 11:13:02.000000000 -0700
@@ -65,6 +65,7 @@
2.26.02.005 - Fix use_sg == 0 mapping on systems with 4GB or higher.
2.26.02.006 - Fix 9550SX pchip reset timeout.
Add big endian support.
+ 2.26.02.007 - Disable local interrupts during kmap/unmap_atomic().
*/
#include <linux/module.h>
@@ -88,7 +89,7 @@
#include "3w-9xxx.h"
/* Globals */
-#define TW_DRIVER_VERSION "2.26.02.006"
+#define TW_DRIVER_VERSION "2.26.02.007"
static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
static unsigned int twa_device_extension_count;
static int twa_major = -1;
@@ -1942,9 +1943,13 @@
}
if (tw_dev->srb[request_id]->use_sg == 1) {
struct scatterlist *sg = (struct scatterlist
*)tw_dev->srb[request_id]->request_buffer;
- char *buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
+ char *buf;
+ unsigned long flags = 0;
+ local_irq_save(flags);
+ buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
memcpy(buf, tw_dev->generic_buffer_virt[request_id], sg->length);
kunmap_atomic(buf - sg->offset, KM_IRQ0);
+ local_irq_restore(flags);
}
}
} /* End twa_scsiop_execute_scsi_complete() */
[-- Attachment #2: 3ware_linux_2.6.17-rc2.patch --]
[-- Type: text/x-patch, Size: 1380 bytes --]
diff -Naur linux-2.6.17-rc1/drivers/scsi/3w-9xxx.c linux-2.6.17-rc2/drivers/scsi/3w-9xxx.c
--- linux-2.6.17-rc1/drivers/scsi/3w-9xxx.c 2006-04-10 15:50:35.000000000 -0700
+++ linux-2.6.17-rc2/drivers/scsi/3w-9xxx.c 2006-04-11 11:13:02.000000000 -0700
@@ -65,6 +65,7 @@
2.26.02.005 - Fix use_sg == 0 mapping on systems with 4GB or higher.
2.26.02.006 - Fix 9550SX pchip reset timeout.
Add big endian support.
+ 2.26.02.007 - Disable local interrupts during kmap/unmap_atomic().
*/
#include <linux/module.h>
@@ -88,7 +89,7 @@
#include "3w-9xxx.h"
/* Globals */
-#define TW_DRIVER_VERSION "2.26.02.006"
+#define TW_DRIVER_VERSION "2.26.02.007"
static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
static unsigned int twa_device_extension_count;
static int twa_major = -1;
@@ -1942,9 +1943,13 @@
}
if (tw_dev->srb[request_id]->use_sg == 1) {
struct scatterlist *sg = (struct scatterlist *)tw_dev->srb[request_id]->request_buffer;
- char *buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
+ char *buf;
+ unsigned long flags = 0;
+ local_irq_save(flags);
+ buf = kmap_atomic(sg->page, KM_IRQ0) + sg->offset;
memcpy(buf, tw_dev->generic_buffer_virt[request_id], sg->length);
kunmap_atomic(buf - sg->offset, KM_IRQ0);
+ local_irq_restore(flags);
}
}
} /* End twa_scsiop_execute_scsi_complete() */
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] 3ware 9000 disable local irqs during kmap_atomic
2006-04-11 18:25 [PATCH 1/1] 3ware 9000 disable local irqs during kmap_atomic adam radford
@ 2006-04-11 18:53 ` Jeff Garzik
2006-04-11 19:12 ` adam radford
0 siblings, 1 reply; 4+ messages in thread
From: Jeff Garzik @ 2006-04-11 18:53 UTC (permalink / raw)
To: adam radford; +Cc: James Bottomley, SCSI Mailing List
adam radford wrote:
> The attached patch for 2.6.17-rc2 updates the 3ware 9000 driver:
>
> - Disable local interrupts during kmap/unmap_atomic().
>
> Signed-off-by: Adam Radford <linuxraid@amcc.com>
>
> James, Please apply
>
> Thanks!
>
> -Adam
>
> Note: The patch is attached as an attachment, and also included
> in-line below. The below may have line-wrap issues since I'm pasting
> into gmail.
I saw the fix go into 2.6.17-rc1-git on git-commits-head list. Please
check out the latest linux-2.6.git and send a patch against what's in
there...
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] 3ware 9000 disable local irqs during kmap_atomic
2006-04-11 18:53 ` Jeff Garzik
@ 2006-04-11 19:12 ` adam radford
2006-04-11 19:25 ` Jeff Garzik
0 siblings, 1 reply; 4+ messages in thread
From: adam radford @ 2006-04-11 19:12 UTC (permalink / raw)
To: Jeff Garzik; +Cc: James Bottomley, SCSI Mailing List
On 4/11/06, Jeff Garzik <jeff@garzik.org> wrote:
> I saw the fix go into 2.6.17-rc1-git on git-commits-head list. Please
> check out the latest linux-2.6.git and send a patch against what's in
> there...
>
> Jeff
>
Jeff,
The patch in 2.6.17-rc1-git5 is for the 3w-xxxx driver, which is fine.
The patch I sent is the same fix for the 3w-9xxx driver.
-Adam
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] 3ware 9000 disable local irqs during kmap_atomic
2006-04-11 19:12 ` adam radford
@ 2006-04-11 19:25 ` Jeff Garzik
0 siblings, 0 replies; 4+ messages in thread
From: Jeff Garzik @ 2006-04-11 19:25 UTC (permalink / raw)
To: adam radford; +Cc: James Bottomley, SCSI Mailing List
adam radford wrote:
> On 4/11/06, Jeff Garzik <jeff@garzik.org> wrote:
>> I saw the fix go into 2.6.17-rc1-git on git-commits-head list. Please
>> check out the latest linux-2.6.git and send a patch against what's in
>> there...
>>
>> Jeff
>>
>
> Jeff,
>
> The patch in 2.6.17-rc1-git5 is for the 3w-xxxx driver, which is fine.
> The patch I sent is the same fix for the 3w-9xxx driver.
Ah! Ignore me, then :)
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-04-11 19:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-11 18:25 [PATCH 1/1] 3ware 9000 disable local irqs during kmap_atomic adam radford
2006-04-11 18:53 ` Jeff Garzik
2006-04-11 19:12 ` adam radford
2006-04-11 19:25 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).