rpms/kernel/F-7 linux-2.6-scsi-3w_9xxx-fix-dma-mask.patch, NONE, 1.1 kernel-2.6.spec, 1.3327, 1.3328
Chuck Ebbert (cebbert)
fedora-extras-commits at redhat.com
Fri Aug 24 16:56:16 UTC 2007
Author: cebbert
Update of /cvs/pkgs/rpms/kernel/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2921
Modified Files:
kernel-2.6.spec
Added Files:
linux-2.6-scsi-3w_9xxx-fix-dma-mask.patch
Log Message:
* Fri Aug 24 2007 Chuck Ebbert <cebbert at redhat.com>
- fix 3ware 9000 controller DMA fallback (#251729)
linux-2.6-scsi-3w_9xxx-fix-dma-mask.patch:
--- NEW FILE linux-2.6-scsi-3w_9xxx-fix-dma-mask.patch ---
[SCSI] 3w-9xxx: Fix dma mask setting
The attached patch updates the 3ware 9000 driver:
- Fix dma mask setting to fallback to 32-bit if 64-bit fails.
Originally:
Signed-off-by: Adam Radford <linuxraid at amcc.com>
Signed-off-by: James Bottomley <James.Bottomley at SteelEye.com>
--- a/drivers/scsi/3w-9xxx.c
+++ b/drivers/scsi/3w-9xxx.c
@@ -4,7 +4,7 @@
Written By: Adam Radford <linuxraid at amcc.com>
Modifications By: Tom Couch <linuxraid at amcc.com>
- Copyright (C) 2004-2006 Applied Micro Circuits Corporation.
+ Copyright (C) 2004-2007 Applied Micro Circuits Corporation.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -69,6 +69,7 @@
2.26.02.008 - Free irq handler in __twa_shutdown().
Serialize reset code.
Add support for 9650SE controllers.
+ 2.26.02.009 - Fix dma mask setting to fallback to 32-bit if 64-bit fails.
*/
#include <linux/module.h>
@@ -92,7 +94,7 @@
#include "3w-9xxx.h"
/* Globals */
-#define TW_DRIVER_VERSION "2.26.02.008"
+#define TW_DRIVER_VERSION "2.26.02.009"
static TW_Device_Extension *twa_device_extension_list[TW_MAX_SLOT];
static unsigned int twa_device_extension_count;
static int twa_major = -1;
@@ -2002,11 +2011,14 @@ static int __devinit twa_probe(struct pci_dev *pdev, const struct pci_device_id
pci_set_master(pdev);
- retval = pci_set_dma_mask(pdev, sizeof(dma_addr_t) > 4 ? DMA_64BIT_MASK : DMA_32BIT_MASK);
- if (retval) {
- TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask");
- goto out_disable_device;
- }
+ if (pci_set_dma_mask(pdev, DMA_64BIT_MASK)
+ || pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK))
+ if (pci_set_dma_mask(pdev, DMA_32BIT_MASK)
+ || pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK)) {
+ TW_PRINTK(host, TW_DRIVER, 0x23, "Failed to set dma mask");
+ retval = -ENODEV;
+ goto out_disable_device;
+ }
host = scsi_host_alloc(&driver_template, sizeof(TW_Device_Extension));
if (!host) {
Index: kernel-2.6.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-7/kernel-2.6.spec,v
retrieving revision 1.3327
retrieving revision 1.3328
diff -u -r1.3327 -r1.3328
--- kernel-2.6.spec 23 Aug 2007 18:20:55 -0000 1.3327
+++ kernel-2.6.spec 24 Aug 2007 16:55:36 -0000 1.3328
@@ -565,6 +565,7 @@
Patch400: linux-2.6-scsi-cpqarray-set-master.patch
Patch401: linux-2.6-aacraid-ioctl-security.patch
Patch402: linux-2.6-scsi-async-scanning.patch
+Patch403: linux-2.6-scsi-3w_9xxx-fix-dma-mask.patch
Patch420: linux-2.6-squashfs.patch
Patch422: linux-2.6-gfs2-update.patch
Patch423: linux-2.6-gfs-locking-exports.patch
@@ -1226,6 +1227,8 @@
ApplyPatch linux-2.6-aacraid-ioctl-security.patch
# fix locking problems w/ async scsi scan
ApplyPatch linux-2.6-scsi-async-scanning.patch
+# fix 3ware 9000 DMA fallback
+ApplyPatch linux-2.6-scsi-3w_9xxx-fix-dma-mask.patch
# Filesystem patches.
# Squashfs
@@ -2299,6 +2302,9 @@
%endif
%changelog
+* Fri Aug 24 2007 Chuck Ebbert <cebbert at redhat.com>
+- fix 3ware 9000 controller DMA fallback (#251729)
+
* Thu Aug 23 2007 Chuck Ebbert <cebbert at redhat.com>
- Linux 2.6.22.5
- CFS scheduler v20.2
More information about the scm-commits
mailing list