patch-2.3.99-pre4 linux/drivers/scsi/ncr53c8xx.c
Next file: linux/drivers/scsi/qlogicisp.c
Previous file: linux/drivers/scsi/hosts.h
Back to the patch index
Back to the overall index
- Lines: 86
- Date:
Sat Apr 1 07:45:31 2000
- Orig file:
v2.3.99-pre3/linux/drivers/scsi/ncr53c8xx.c
- Orig date:
Tue Mar 14 19:10:40 2000
diff -u --recursive --new-file v2.3.99-pre3/linux/drivers/scsi/ncr53c8xx.c linux/drivers/scsi/ncr53c8xx.c
@@ -104,7 +104,7 @@
/*
** Name and version of the driver
*/
-#define SCSI_NCR_DRIVER_NAME "ncr53c8xx - version 3.2g"
+#define SCSI_NCR_DRIVER_NAME "ncr53c8xx - version 3.2h"
#define SCSI_NCR_DEBUG_FLAGS (0)
@@ -1120,7 +1120,7 @@
u_char revision_id; /* PCI device revision id */
u_char bus; /* PCI BUS number */
u_char device_fn; /* PCI BUS device and function */
- u_long port; /* IO space base address */
+ u_long base_io; /* IO space base address */
u_int irq; /* IRQ level */
u_int features; /* Chip features map */
u_char myaddr; /* SCSI id of the adapter */
@@ -3734,7 +3734,7 @@
*/
request_region(device->slot.io_port, 128, "ncr53c8xx");
- np->port = device->slot.io_port;
+ np->base_io = device->slot.io_port;
#ifdef SCSI_NCR_NVRAM_SUPPORT
if (nvram) {
@@ -3951,11 +3951,11 @@
unmap_pci_mem((vm_offset_t) np->vaddr, (u_long) 128);
}
#endif /* !NCR_IOMAPPED */
- if (np->port) {
+ if (np->base_io) {
#ifdef DEBUG_NCR53C8XX
- printk(KERN_DEBUG "%s: releasing IO region %x[%d]\n", ncr_name(np), np->port, 128);
+ printk(KERN_DEBUG "%s: releasing IO region %x[%d]\n", ncr_name(np), np->base_io, 128);
#endif
- release_region(np->port, 128);
+ release_region(np->base_io, 128);
}
if (np->irq) {
#ifdef DEBUG_NCR53C8XX
@@ -4260,11 +4260,17 @@
**----------------------------------------------------
*/
- segments = ncr_scatter (np, cp, cp->cmd);
-
- if (segments < 0) {
- ncr_free_ccb(np, cp);
- return(DID_ERROR);
+ direction = scsi_data_direction(cmd);
+ if (direction != SCSI_DATA_NONE) {
+ segments = ncr_scatter (np, cp, cp->cmd);
+ if (segments < 0) {
+ ncr_free_ccb(np, cp);
+ return(DID_ERROR);
+ }
+ }
+ else {
+ cp->data_len = 0;
+ segments = 0;
}
/*----------------------------------------------------
@@ -4275,8 +4281,6 @@
*/
if (!cp->data_len)
direction = SCSI_DATA_NONE;
- else
- direction = scsi_data_direction(cmd);
/*
** If data direction is UNKNOWN, speculate DATA_READ
@@ -4796,9 +4800,9 @@
#endif /* !NCR_IOMAPPED */
#ifdef DEBUG_NCR53C8XX
- printk("%s: releasing IO region %x[%d]\n", ncr_name(np), np->port, 128);
+ printk("%s: releasing IO region %x[%d]\n", ncr_name(np), np->base_io, 128);
#endif
- release_region(np->port, 128);
+ release_region(np->base_io, 128);
/*
** Free allocated ccb(s)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)