marginalize HCIL a bit
Subsystems (16)
cover marginalize HCIL a bit
The following patches are in the 'submit9' branch of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/scsilun-2.6.git
1 [SCSI] kill unused scsi_scan_single_target()
2 [SCSI] remove cpqfcTS driver, long uncompilable
3 [SCSI] misc cleanups
4 [SCSI] s/scsi_scan_target/spi_scan_target/
5 [SCSI] split up __spi_scan_target()
6 [SCSI] introduce sfoo_printk, sfoo_id, sfoo_channel helpers
7 [SCSI] use {sdev,scmd,starget,shost}_printk in generic code
8 [SCSI] use sfoo_printk() in drivers
9 [SCSI] use scmd_id(), scmd_channel() throughout codeExcept for patch #2, which is too large to post, the above patches will follow this email.
If you are pulling the git repo, then you may branches submit0 (==Linus) through submit9 (==all patches). Each is cumulative: submit0 is empty. submit1 contains patch #1. submit2 contains patch #1 and #2. etc.
These patches are properly split up, and should be OK for upstream once 2.6.14 is released (any day now).
PATCH 1/9 kill unused scsi_scan_single_target()
commit c2b1cdfc6ddc0d7bbcad57735bccb7f9ec774ad1
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 14:57:38 2005 -0400
[SCSI] kill unused scsi_scan_single_target()
drivers/scsi/scsi_scan.c | 13 ------------- include/scsi/scsi_host.h | 2 -- 2 files changed, 15 deletions(-)
drivers/scsi/scsi_scan.c +0 -13
@@ -1452,19 +1452,6 @@ void scsi_scan_host(struct Scsi_Host *sh }EXPORT_SYMBOL (scsi_scan_host); -/** -* scsi_scan_single_target - scan the given SCSI target -* @shost: adapter to scan -* @chan: channel to scan -* @id: target id to scan -**/ -void scsi_scan_single_target (struct Scsi_Host *shost, -unsigned int chan,unsigned int id) -{ -scsi_scan_host_selected (shost, chan, id,SCAN_WILD_CARD ,1 ); -} -EXPORT_SYMBOL (scsi_scan_single_target); -void scsi_forget_host (struct Scsi_Host *shost) {struct scsi_device *sdev;
include/scsi/scsi_host.h +0 -2
@@ -634,8 +634,6 @@ extern void scsi_flush_work(struct Scsi_extern struct Scsi_Host *scsi_host_alloc (struct scsi_host_template *,int );extern int __must_check scsi_add_host (struct Scsi_Host *,struct device *);extern void scsi_scan_host (struct Scsi_Host *); -extern void scsi_scan_single_target (struct Scsi_Host *,unsigned int , -unsigned int );extern void scsi_rescan_device (struct device *);extern void scsi_remove_host (struct Scsi_Host *);extern struct Scsi_Host *scsi_host_get (struct Scsi_Host *);
PATCH 2/9 remove cpqfcTS driver, long uncompilable
In reply to Jeff GarzikPatch omitted. See git repo.
PATCH 3/9 misc cleanups
In reply to Jeff Garzikcommit 4e7dd2d43e3b5aa5868de81bd62a4f1dc5ff51c4
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 15:07:05 2005 -0400
[SCSI] misc cleanups
- eliminate use of 'channel' and 'id' in starget_for_each_device()
- unexport __scsi_device_lookup_by_target()
- add some whitespace after '==', on one line
drivers/scsi/scsi.c | 12 ++++-------- include/scsi/scsi_device.h | 2 -- 2 files changed, 4 insertions(+), 10 deletions(-)
drivers/scsi/scsi.c +4 -8
@@ -1108,13 +1108,10 @@ EXPORT_SYMBOL(__scsi_iterate_devices);void starget_for_each_device (struct scsi_target *starget,void * data,void (*fn)(struct scsi_device *,void *)) { -struct Scsi_Host *shost =dev_to_shost (starget->dev.parent);struct scsi_device *sdev; -shost_for_each_device (sdev, shost) { -if ((sdev->channel == starget->channel) && - (sdev->id == starget->id)) -fn (sdev, data); +list_for_each_entry (sdev, &starget->devices, same_target_siblings) { +fn (sdev, data); } }EXPORT_SYMBOL (starget_for_each_device);
@@ -1133,19 +1130,18 @@ EXPORT_SYMBOL(starget_for_each_device);* they're need to access the device list in irq context. Otherwise you * really want to use scsi_device_lookup_by_target instead. **/ -struct scsi_device *__scsi_device_lookup_by_target (struct scsi_target *starget, +static struct scsi_device *__scsi_device_lookup_by_target (struct scsi_target *starget,uint lun) {struct scsi_device *sdev;list_for_each_entry (sdev, &starget->devices, same_target_siblings) { -if (sdev->lun ==lun) +if (sdev->lun == lun)return sdev; }return NULL ; } -EXPORT_SYMBOL (__scsi_device_lookup_by_target);/** * scsi_device_lookup_by_target - find a device given the target
include/scsi/scsi_device.h +0 -2
@@ -192,8 +192,6 @@ extern struct scsi_device *__scsi_device uint, uint, uint);extern struct scsi_device *scsi_device_lookup_by_target (struct scsi_target *,uint ); -extern struct scsi_device *__scsi_device_lookup_by_target (struct scsi_target *, -uint );extern void starget_for_each_device (struct scsi_target *,void *,void (*fn)(struct scsi_device *,void *));
Re: [scsi hcil 3/9] misc cleanups
Quoted 1 line · Jeff Garzik
- eliminate use of 'channel' and 'id' in
starget_for_each_device()
Actually, we can't do this. The reason for the way it looks today is that shost_for_each_device() actually performs a lot of magic assuming that the list can be changing under it (it was a long precursor to the klists, if you like). list_for_each_entry() does no such magic.
We could convert to klists to get this, or simply replicate the host magic per target.
James
PATCH 4/9 s/scsi_scan_target/spi_scan_target/
In reply to Jeff Garzikcommit 54815084f6ca2f40ca474c906fbd17aef2b040d4
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 15:13:54 2005 -0400
[SCSI] s/scsi_scan_target/spi_scan_target/
There are very few scsi_scan_target() users, arguably internal users, and given their young history we can afford to go ahead and change the API a bit. This just renames a symbol; no other changes.
The new scsi_scan_target(), when it comes back, will have different number of args, and differing arg types, which should make the changes obvious even to non-upstream users.
drivers/scsi/scsi_scan.c | 14 +++++++------- drivers/scsi/scsi_transport_fc.c | 2 +- drivers/scsi/scsi_transport_sas.c | 2 +- include/scsi/scsi_device.h | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-)
drivers/scsi/scsi_scan.c +7 -7
@@ -1306,7 +1306,7 @@ void scsi_rescan_device(struct device *d }EXPORT_SYMBOL (scsi_rescan_device); -static void __scsi_scan_target (struct device *parent,unsigned int channel, +static void __spi_scan_target (struct device *parent,unsigned int channel,unsigned int id,unsigned int lun,int rescan) {struct Scsi_Host *shost =dev_to_shost (parent);
@@ -1357,7 +1357,7 @@ static void __scsi_scan_target(struct de }/** -* scsi_scan_target - scan a target id, possibly including all LUNs on the +* spi_scan_target - scan a target id, possibly including all LUNs on the * target. * @parent: host to scan * @channel: channel to scan
@@ -1372,17 +1372,17 @@ static void __scsi_scan_target(struct de* First try a REPORT LUN scan, if that does not scan the target, do a * sequential scan of LUNs on the target id. **/ -void scsi_scan_target (struct device *parent,unsigned int channel, +void spi_scan_target (struct device *parent,unsigned int channel,unsigned int id,unsigned int lun,int rescan) {struct Scsi_Host *shost =dev_to_shost (parent);down (&shost->scan_mutex);if (scsi_host_scan_allowed (shost)) -__scsi_scan_target (parent, channel, id, lun, rescan); +__spi_scan_target (parent, channel, id, lun, rescan);up (&shost->scan_mutex); } -EXPORT_SYMBOL (scsi_scan_target); +EXPORT_SYMBOL (spi_scan_target);static void scsi_scan_channel (struct Scsi_Host *shost,unsigned int channel,unsigned int id,unsigned int lun,int rescan)
@@ -1407,11 +1407,11 @@ static void scsi_scan_channel(struct Scs order_id = shost->max_id - id -1 ; else order_id = id; -__scsi_scan_target (&shost->shost_gendev, channel, +__spi_scan_target (&shost->shost_gendev, channel, order_id, lun, rescan); }else -__scsi_scan_target (&shost->shost_gendev, channel, +__spi_scan_target (&shost->shost_gendev, channel, id, lun, rescan); }
drivers/scsi/scsi_transport_fc.c +1 -1
@@ -1680,7 +1680,7 @@ fc_scsi_scan_rport(void *data) {struct fc_rport *rport = (struct fc_rport *)data; -scsi_scan_target (&rport->dev, rport->channel, rport->scsi_target_id, +spi_scan_target (&rport->dev, rport->channel, rport->scsi_target_id,SCAN_WILD_CARD ,1 ); }
drivers/scsi/scsi_transport_sas.c +1 -1
@@ -578,7 +578,7 @@ int sas_rphy_add(struct sas_rphy *rphy)spin_unlock (&sas_host->lock);if (rphy->scsi_target_id !=-1 ) { -scsi_scan_target (&rphy->dev, parent->number, +spi_scan_target (&rphy->dev, parent->number, rphy->scsi_target_id, ~0 ,0 ); }
include/scsi/scsi_device.h +2 -2
@@ -246,8 +246,8 @@ extern int scsi_device_quiesce(struct scextern void scsi_device_resume (struct scsi_device *sdev);extern void scsi_target_quiesce (struct scsi_target *);extern void scsi_target_resume (struct scsi_target *); -extern void scsi_scan_target (struct device *parent,unsigned int channel, -unsigned int id,unsigned int lun,int rescan); +extern void spi_scan_target (struct device *parent,unsigned int channel, +unsigned int id,unsigned int lun,int rescan);extern void scsi_target_reap (struct scsi_target *);extern void scsi_target_block (struct device *);extern void scsi_target_unblock (struct device *);
PATCH 5/9 split up __spi_scan_target()
In reply to Jeff Garzikcommit 732f2c555a9778d44905e6dcbcab4caab9a29475
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 15:35:30 2005 -0400
[SCSI] split up __spi_scan_target()
Split up __spi_scan_target() into two logical pieces:
* struct scsi_target scanning
* SPI-specific scsi_target allocation
This paves the way for an SPI-independent scsi_scan_target().
drivers/scsi/scsi_scan.c | 33 +++++++++++++++++++-------------- 1 files changed, 19 insertions(+), 14 deletions(-)
drivers/scsi/scsi_scan.c +19 -14
@@ -1306,23 +1306,11 @@ void scsi_rescan_device(struct device *d }EXPORT_SYMBOL (scsi_rescan_device); -static void __spi_scan_target (struct device *parent,unsigned int channel, -unsigned int id,unsigned int lun,int rescan) +static void __scsi_scan_target (struct scsi_target *starget,unsigned int lun, +int rescan) { -struct Scsi_Host *shost =dev_to_shost (parent);int bflags =0 ;int res; -struct scsi_target *starget; - -if (shost->this_id == id) -/* -* Don't scan the host adapter -*/ -return ; - - starget =scsi_alloc_target (parent, channel, id); -if (!starget) -return ;get_device (&starget->dev);if (lun !=SCAN_WILD_CARD ) {
@@ -1356,6 +1344,23 @@ static void __spi_scan_target(struct devput_device (&starget->dev); } +static void __spi_scan_target (struct device *parent,unsigned int channel, +unsigned int id,unsigned int lun,int rescan) +{ +struct Scsi_Host *shost =dev_to_shost (parent); +struct scsi_target *starget; + +if (shost->this_id == id) +/* +* Don't scan the host adapter +*/ +return ; + + starget =scsi_alloc_target (parent, channel, id); +if (starget) +__scsi_scan_target (starget, lun, rescan); +} +/** * spi_scan_target - scan a target id, possibly including all LUNs on the * target.
PATCH 6/9 introduce sfoo_printk, sfoo_id, sfoo_channel helpers
In reply to Jeff Garzikcommit 30d604030b5c7add791746119c72cab358eb75c3
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 15:59:30 2005 -0400
[SCSI] introduce sfoo_printk, sfoo_id, sfoo_channel helpers
New dev_printk wrappers, which allow us to shrink code, and eliminate direct references to host/channel/id/lun members:
{scmd,sdev,starget,shost}_printk()
Introduce wrappers for highly common idioms, which may also help us eliminate some ->{channel,id} references in the future:
{scmd,sdev}_id()
{scmd,sdev}_channel()
The scmd_* wrappers are present in scsi/scsi_device.h because they all employ the dereference chain cmd->device->$member. We would prefer to use static inline functions rather than macros, but that would have a
include/scsi/scsi_device.h | 22 ++++++++++++++++++++++ include/scsi/scsi_host.h | 4 ++++ 2 files changed, 26 insertions(+)
include/scsi/scsi_device.h +22 -0
@@ -148,6 +148,12 @@ struct scsi_device {#define transport_class_to_sdev (class_dev) \ to_scsi_device(class_dev->dev) +#define sdev_printk(prefix, sdev, fmt, a...) \ + dev_printk(prefix, &(sdev)->sdev_gendev, fmt, ##a) + +#define scmd_printk(prefix, scmd, fmt, a...) \ + dev_printk(prefix, &(scmd)->device->sdev_gendev, fmt, ##a) +/* * scsi_target: representation of a scsi target, for now, this is only * used for single_lun devices. If no one has active IO to the target,
@@ -177,6 +183,9 @@ static inline struct scsi_target *scsi_t#define transport_class_to_starget (class_dev) \ to_scsi_target(class_dev->dev) +#define starget_printk(prefix, starget, fmt, a...) \ + dev_printk(prefix, &(starget)->dev, fmt, ##a) +extern struct scsi_device *__scsi_add_device (struct Scsi_Host *,uint ,uint ,uint ,void *hostdata); extern int scsi_add_device(struct Scsi_Host *host, uint channel,
@@ -264,6 +273,19 @@ extern int scsi_execute_req(struct scsi_ int data_direction, void *buffer, unsigned bufflen, struct scsi_sense_hdr *, int timeout, int retries); +static inline unsigned int sdev_channel (struct scsi_device *sdev) +{ +return sdev->channel; +} + +static inline unsigned int sdev_id (struct scsi_device *sdev) +{ +return sdev->id; +} + +#define scmd_id (scmd) sdev_id((scmd)->device) +#define scmd_channel (scmd) sdev_channel((scmd)->device) +static inline int scsi_device_online (struct scsi_device *sdev) {return sdev->sdev_state !=SDEV_OFFLINE ;
include/scsi/scsi_host.h +4 -0
@@ -609,6 +609,10 @@ struct Scsi_Host {#define class_to_shost (d) \ container_of(d, struct Scsi_Host, shost_classdev) +#define shost_printk(prefix, shost, fmt, a...) \ + dev_printk(prefix, &(shost)->shost_gendev, fmt, ##a) + +int scsi_is_host_device (const struct device *);static inline struct Scsi_Host *dev_to_shost (struct device *dev)
PATCH 7/9 use {sdev,scmd,starget,shost}_printk in generic code
In reply to Jeff Garzikcommit 2c6e883beaa696014c02f973f02c9730b9de5d93
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 16:35:25 2005 -0400
[SCSI] use {sdev,scmd,starget,shost}_printk in generic code
Some changes from James Bottomley, some from me, some the same changes independently from the two of us.
drivers/scsi/constants.c | 6 +----- drivers/scsi/hosts.c | 2 +- drivers/scsi/scsi.c | 20 ++++++++------------ drivers/scsi/scsi_debug.c | 15 ++++++--------- drivers/scsi/scsi_error.c | 29 ++++++++++------------------- drivers/scsi/scsi_ioctl.c | 8 ++------ drivers/scsi/scsi_lib.c | 31 ++++++++++++++----------------- drivers/scsi/scsi_scan.c | 31 ++++++++++++++++--------------- drivers/scsi/scsi_transport_fc.c | 2 -- drivers/scsi/scsi_transport_spi.c | 24 +++++++++++------------- drivers/scsi/sd.c | 9 +++------ drivers/scsi/sg.c | 14 +++++--------- drivers/scsi/sr.c | 15 +++++++-------- drivers/scsi/st.c | 10 ++++------ 14 files changed, 88 insertions(+), 128 deletions(-)
drivers/scsi/constants.c +1 -5
@@ -1389,11 +1389,7 @@ EXPORT_SYMBOL(scsi_print_msg);void scsi_print_command (struct scsi_cmnd *cmd) {/* Assume appended output (i.e. not at start of line) */ -printk ("scsi%d : destination target %d, lun %d\n" , - cmd->device->host->host_no, - cmd->device->id, - cmd->device->lun); -printk (KERN_INFO " command: " ); +scmd_printk (KERN_INFO , cmd,"command:\n\t" );scsi_print_cdb (cmd->cmnd, cmd->cmd_len,0 ); }EXPORT_SYMBOL (scsi_print_command);
drivers/scsi/hosts.c +1 -1
@@ -139,7 +139,7 @@ int scsi_host_set_state(struct Scsi_Host illegal: SCSI_LOG_ERROR_RECOVERY(1, - dev_printk(KERN_ERR, &shost->shost_gendev, + shost_printk(KERN_ERR, shost, "Illegal host state transition" "%s->%s\n", scsi_host_state_name(oldstate),
drivers/scsi/scsi.c +8 -12
@@ -410,9 +410,7 @@ void scsi_log_send(struct scsi_cmnd *cmd SCSI_LOG_MLQUEUE_BITS);if (level >1 ) { sdev = cmd->device; -printk (KERN_INFO "scsi <%d:%d:%d:%d> send " , - sdev->host->host_no, sdev->channel, sdev->id, - sdev->lun); +sdev_printk (KERN_INFO , sdev,"send " );if (level >2 )printk ("0x%p " , cmd);/*
@@ -456,9 +454,7 @@ void scsi_log_completion(struct scsi_cmnif (((level >0 ) && (cmd->result || disposition !=SUCCESS )) || (level >1 )) { sdev = cmd->device; -printk (KERN_INFO "scsi <%d:%d:%d:%d> done " , - sdev->host->host_no, sdev->channel, sdev->id, - sdev->lun); +sdev_printk (KERN_INFO , sdev,"done " );if (level >2 )printk ("0x%p " , cmd);/*
@@ -810,7 +806,7 @@ static void scsi_softirq(struct softirq_ disposition =scsi_decide_disposition (cmd);if (disposition !=SUCCESS &&time_before (cmd->jiffies_at_alloc + wait_for, jiffies)) { -dev_printk (KERN_ERR , &cmd->device->sdev_gendev, +scmd_printk (KERN_ERR , cmd,"timing out command, waited %lus\n" , wait_for/HZ ); disposition =SUCCESS ;
@@ -893,8 +889,9 @@ void scsi_finish_command(struct scsi_cmnif (SCSI_SENSE_VALID (cmd)) cmd->result |= (DRIVER_SENSE <<24 ); -SCSI_LOG_MLCOMPLETE (4 ,printk ("Notifying upper driver of completion " -"for device %d %x\n" , sdev->id, cmd->result)); +SCSI_LOG_MLCOMPLETE (4 ,sdev_printk (KERN_INFO , sdev, +"Notifying upper driver of completion " +"(result %x)\n" , cmd->result));/* * We can get here with use_sg=0, causing a panic in the upper level
@@ -970,10 +967,9 @@ void scsi_adjust_queue_depth(struct scsi sdev->simple_tags =1 ;break ;default : -printk (KERN_WARNING "(scsi%d:%d:%d:%d) " +sdev_printk (KERN_WARNING , sdev,"scsi_adjust_queue_depth, bad queue type, " -"disabled\n" , sdev->host->host_no, - sdev->channel, sdev->id, sdev->lun); +"disabled\n" );case 0 : sdev->ordered_tags = sdev->simple_tags =0 ; sdev->queue_depth = tags;
drivers/scsi/scsi_debug.c +6 -9
@@ -1008,8 +1008,7 @@ static void timer_intr_handler(unsignedstatic int scsi_debug_slave_alloc (struct scsi_device * sdp) {if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts) -printk (KERN_INFO "scsi_debug: slave_alloc <%u %u %u %u>\n" , - sdp->host->host_no, sdp->channel, sdp->id, sdp->lun); +sdev_printk (KERN_INFO , sdp,"scsi_debug: slave_alloc\n" );return 0 ; }
@@ -1018,8 +1017,7 @@ static int scsi_debug_slave_configure(ststruct sdebug_dev_info * devip;if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts) -printk (KERN_INFO "scsi_debug: slave_configure <%u %u %u %u>\n" , - sdp->host->host_no, sdp->channel, sdp->id, sdp->lun); +sdev_printk (KERN_INFO , sdp,"scsi_debug: slave_configure\n" );if (sdp->host->max_cmd_len !=SCSI_DEBUG_MAX_CMD_LEN ) sdp->host->max_cmd_len =SCSI_DEBUG_MAX_CMD_LEN ; devip =devInfoReg (sdp);
@@ -1036,8 +1034,7 @@ static void scsi_debug_slave_destroy(str (struct sdebug_dev_info *)sdp->hostdata;if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts) -printk (KERN_INFO "scsi_debug: slave_destroy <%u %u %u %u>\n" , - sdp->host->host_no, sdp->channel, sdp->id, sdp->lun); +sdev_printk (KERN_INFO , sdp,"scsi_debug: slave_destroy\n" );if (devip) {/* make this slot avaliable for re-use */ devip->used =0 ;
@@ -1326,9 +1323,9 @@ static int schedule_resp(struct scsi_cmnif (scsi_result) {struct scsi_device * sdp = cmnd->device; -printk (KERN_INFO "scsi_debug: <%u %u %u %u> " -"non-zero result=0x%x\n" , sdp->host->host_no, - sdp->channel, sdp->id, sdp->lun, scsi_result); +sdev_printk (KERN_INFO , sdp, +"non-zero result=0x%x\n" , + scsi_result); } }if (cmnd && devip) {
drivers/scsi/scsi_error.c +10 -19
@@ -241,11 +241,10 @@ static inline void scsi_eh_prt_fail_statif (cmd_cancel || cmd_failed) {SCSI_LOG_ERROR_RECOVERY (3 , -printk ("%s: %d:%d:%d:%d cmds failed: %d," +sdev_printk (KERN_INFO , sdev, +"%s: cmds failed: %d," " cancel: %d\n" , - __FUNCTION__, shost->host_no, - sdev->channel, sdev->id, sdev->lun, - cmd_failed, cmd_cancel)); + __FUNCTION__, cmd_failed, cmd_cancel)); cmd_cancel =0 ; cmd_failed =0 ; ++devices_failed;
@@ -674,10 +673,9 @@ static int scsi_eh_get_sense(struct list SCSI_SENSE_VALID(scmd))continue ; -SCSI_LOG_ERROR_RECOVERY (2 ,printk ("%s: requesting sense" -" for id: %d\n" , - current->comm, - scmd->device->id)); +SCSI_LOG_ERROR_RECOVERY (2 ,scmd_printk (KERN_INFO , scmd, +"%s: requesting sense\n" , + current->comm)); rtn =scsi_request_sense (scmd);if (rtn !=SUCCESS )continue ;
@@ -1174,13 +1172,9 @@ static void scsi_eh_offline_sdevs(structstruct scsi_cmnd *scmd, *next;list_for_each_entry_safe (scmd, next, work_q, eh_entry) { -printk (KERN_INFO "scsi: Device offlined - not" -" ready after error recovery: host" -" %d channel %d id %d lun %d\n" , - scmd->device->host->host_no, - scmd->device->channel, - scmd->device->id, - scmd->device->lun); +scmd_printk (KERN_INFO , scmd, +"Device offlined - not" +" ready after error recovery\n" );scsi_device_set_state (scmd->device,SDEV_OFFLINE );if (scmd->eh_eflags &SCSI_EH_CANCEL_CMD ) {/*
@@ -1342,10 +1336,7 @@ int scsi_decide_disposition(struct scsi_return SUCCESS ;case RESERVATION_CONFLICT : -printk (KERN_INFO "scsi: reservation conflict: host" -" %d channel %d id %d lun %d\n" , - scmd->device->host->host_no, scmd->device->channel, - scmd->device->id, scmd->device->lun); +scmd_printk (KERN_INFO , scmd,"reservation conflict\n" );return SUCCESS ;/* causes immediate i/o error */ default :return FAILED ;
drivers/scsi/scsi_ioctl.c +2 -6
@@ -122,12 +122,8 @@ static int ioctl_internal_command(structbreak ; }default :/* Fall through for non-removable media */ -printk (KERN_INFO "ioctl_internal_command: <%d %d %d " -"%d> return code = %x\n" , - sdev->host->host_no, - sdev->channel, - sdev->id, - sdev->lun, +sdev_printk (KERN_INFO , sdev, +"ioctl_internal_command: return code = %x\n" , result);scsi_print_sense_hdr (" " , &sshdr);break ;
drivers/scsi/scsi_lib.c +14 -17
@@ -951,15 +951,13 @@ void scsi_io_completion(struct scsi_cmndreturn ; }if (!(req->flags &REQ_QUIET )) -dev_printk (KERN_INFO , - &cmd->device->sdev_gendev, +scmd_printk (KERN_INFO , cmd,"Device not ready.\n" );scsi_end_request (cmd,0 , this_count,1 );return ;case VOLUME_OVERFLOW :if (!(req->flags &REQ_QUIET )) { -dev_printk (KERN_INFO , - &cmd->device->sdev_gendev, +scmd_printk (KERN_INFO , cmd,"Volume overflow, CDB: " );__scsi_print_command (cmd->data_cmnd);scsi_print_sense ("" , cmd);
@@ -981,7 +979,7 @@ void scsi_io_completion(struct scsi_cmnd }if (result) {if (!(req->flags &REQ_QUIET )) { -dev_printk (KERN_INFO , &cmd->device->sdev_gendev, +scmd_printk (KERN_INFO , cmd,"SCSI error: return code = 0x%x\n" , result);if (driver_byte (result) &DRIVER_SENSE )
@@ -1141,8 +1139,8 @@ static int scsi_prep_fn(struct request_q* online before trying any recovery commands */ if (unlikely (!scsi_device_online (sdev))) { -printk (KERN_ERR "scsi%d (%d:%d): rejecting I/O to offline device\n" , - sdev->host->host_no, sdev->id, sdev->lun); +sdev_printk (KERN_ERR , sdev, +"rejecting I/O to offline device\n" ); goto kill; }if (unlikely (sdev->sdev_state !=SDEV_RUNNING )) {
@@ -1151,8 +1149,8 @@ static int scsi_prep_fn(struct request_qif (sdev->sdev_state ==SDEV_DEL ) {/* Device is fully deleted, no commands * at all allowed down */ -printk (KERN_ERR "scsi%d (%d:%d): rejecting I/O to dead device\n" , - sdev->host->host_no, sdev->id, sdev->lun); +sdev_printk (KERN_ERR , sdev, +"rejecting I/O to dead device\n" ); goto kill; }/* OK, we only allow special commands (i.e. not
@@ -1187,8 +1185,8 @@ static int scsi_prep_fn(struct request_q specials_only == SDEV_BLOCK) goto defer; -printk (KERN_ERR "scsi%d (%d:%d): rejecting I/O to device being removed\n" , - sdev->host->host_no, sdev->id, sdev->lun); +sdev_printk (KERN_ERR , sdev, +"rejecting I/O to device being removed\n" ); goto kill; }
@@ -1315,9 +1313,8 @@ static inline int scsi_dev_queue_ready(s*/ if (--sdev->device_blocked ==0 ) {SCSI_LOG_MLQUEUE (3 , -printk ("scsi%d (%d:%d) unblocking device at" -" zero depth\n" , sdev->host->host_no, - sdev->id, sdev->lun)); +sdev_printk (KERN_INFO , sdev, +"unblocking device at zero depth\n" )); }else {blk_plug_device (q);return 0 ;
@@ -1436,8 +1433,8 @@ static void scsi_request_fn(struct requebreak ;if (unlikely (!scsi_device_online (sdev))) { -printk (KERN_ERR "scsi%d (%d:%d): rejecting I/O to offline device\n" , - sdev->host->host_no, sdev->id, sdev->lun); +sdev_printk (KERN_ERR , sdev, +"rejecting I/O to offline device\n" );scsi_kill_request (req, q);continue ; }
@@ -1893,7 +1890,7 @@ scsi_device_set_state(struct scsi_device illegal:SCSI_LOG_ERROR_RECOVERY (1 , -dev_printk (KERN_ERR , &sdev->sdev_gendev, +sdev_printk (KERN_ERR , sdev,"Illegal state transition %s->%s\n" ,scsi_device_state_name (oldstate), scsi_device_state_name(state))
drivers/scsi/scsi_scan.c +16 -15
@@ -462,10 +462,9 @@ static int scsi_probe_lun(struct scsi_de pass =1 ; next_pass: -SCSI_LOG_SCAN_BUS (3 ,printk (KERN_INFO "scsi scan: INQUIRY pass %d " -"to host %d channel %d id %d lun %d, length %d\n" , - pass, sdev->host->host_no, sdev->channel, - sdev->id, sdev->lun, try_inquiry_len)); +SCSI_LOG_SCAN_BUS (3 ,sdev_printk (KERN_INFO , sdev, +"scsi scan: INQUIRY pass %d, length %d\n" , + pass, try_inquiry_len));/* Each pass gets up to three chances to ignore Unit Attention */ for (count =0 ; count <3 ; ++count) {
@@ -1190,9 +1189,8 @@ static int scsi_report_lun_scan(struct s num_luns = max_scsi_report_luns; } -SCSI_LOG_SCAN_BUS (3 ,printk (KERN_INFO "scsi scan: REPORT LUN scan of" -" host %d channel %d id %d\n" , sdev->host->host_no, - sdev->channel, sdev->id)); +SCSI_LOG_SCAN_BUS (3 ,sdev_printk (KERN_INFO , sdev, +"scsi scan: REPORT LUN scan\n" ));/* * Scan the luns in lun_data. The entry at offset 0 is really
@@ -1219,9 +1217,10 @@ static int scsi_report_lun_scan(struct sprintk ("%02x" , data[i]);printk (" has a LUN larger than currently supported.\n" ); }else if (lun > sdev->host->max_lun) { -printk (KERN_WARNING "scsi: %s lun%d has a LUN larger" -" than allowed by the host adapter\n" , - devname, lun); +sdev_printk (KERN_WARNING , sdev, +"lun%d larger" +" than allowed by the host adapter\n" , + lun); }else {int res;
@@ -1231,9 +1230,10 @@ static int scsi_report_lun_scan(struct s/* * Got some results, but now none, abort. */ -printk (KERN_ERR "scsi: Unexpected response" -" from %s lun %d while scanning, scan" -" aborted\n" , devname, lun); +sdev_printk (KERN_ERR , sdev, +"Unexpected response" +" from lun %d while scanning, scan" +" aborted\n" , lun);break ; } }
@@ -1423,8 +1423,9 @@ static void scsi_scan_channel(struct Scsint scsi_scan_host_selected (struct Scsi_Host *shost,unsigned int channel,unsigned int id,unsigned int lun,int rescan) { -SCSI_LOG_SCAN_BUS (3 ,printk (KERN_INFO "%s: <%u:%u:%u:%u>\n" , - __FUNCTION__, shost->host_no, channel, id, lun)); +SCSI_LOG_SCAN_BUS (3 ,shost_printk (KERN_INFO , shost, +"%s: <%u:%u:%u>\n" , + __FUNCTION__, channel, id, lun)); if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) || ((id != SCAN_WILD_CARD) && (id > shost->max_id)) ||
drivers/scsi/scsi_transport_fc.c +0 -2
@@ -32,8 +32,6 @@#include <scsi/scsi_transport_fc.h> #include "scsi_priv.h" -#define FC_PRINTK(x, l, f, a...) printk(l "scsi(%d:%d:%d:%d): " f, (x)->host->host_no, (x)->channel, (x)->id, (x)->lun , ##a) -/* * Redefine so that we can have same named attributes in the * sdev/starget/host objects.
drivers/scsi/scsi_transport_spi.c +11 -13
@@ -33,8 +33,6 @@#include <scsi/scsi_transport.h> #include <scsi/scsi_transport_spi.h> -#define SPI_PRINTK(x, l, f, a...) dev_printk(l, &(x)->dev, f , ##a) -#define SPI_NUM_ATTRS 14/* increase this if you add attributes */ #define SPI_OTHER_ATTRS 1/* Increase this if you add "always * on" attributes */
@@ -618,7 +616,7 @@ spi_dv_device_echo_buffer(struct scsi_dereturn SPI_COMPARE_SKIP_TEST ; -SPI_PRINTK (sdev->sdev_target,KERN_ERR ,"Write Buffer failure %x\n" , result); +sdev_printk (KERN_ERR , sdev,"Write Buffer failure %x\n" , result);return SPI_COMPARE_FAILURE ; }
@@ -702,10 +700,10 @@ spi_dv_retrain(struct scsi_device *sdev,* IU, then QAS (if we can control them), then finally * fall down the periods */ if (i->f->set_iu &&spi_iu (starget)) { -SPI_PRINTK (starget,KERN_ERR ,"Domain Validation Disabing Information Units\n" ); +starget_printk (KERN_ERR , starget,"Domain Validation Disabing Information Units\n" );DV_SET (iu,0 ); }else if (i->f->set_qas &&spi_qas (starget)) { -SPI_PRINTK (starget,KERN_ERR ,"Domain Validation Disabing Quick Arbitration and Selection\n" ); +starget_printk (KERN_ERR , starget,"Domain Validation Disabing Quick Arbitration and Selection\n" );DV_SET (qas,0 ); }else { newperiod =spi_period (starget);
@@ -717,11 +715,11 @@ spi_dv_retrain(struct scsi_device *sdev,if (unlikely (period >0xff || period == prevperiod)) {/* Total failure; set to async and return */ -SPI_PRINTK (starget,KERN_ERR ,"Domain Validation Failure, dropping back to Asynchronous\n" ); +starget_printk (KERN_ERR , starget,"Domain Validation Failure, dropping back to Asynchronous\n" );DV_SET (offset,0 );return SPI_COMPARE_FAILURE ; } -SPI_PRINTK (starget,KERN_ERR ,"Domain Validation detected failure, dropping back\n" ); +starget_printk (KERN_ERR , starget,"Domain Validation detected failure, dropping back\n" );DV_SET (period, period); prevperiod = period; }
@@ -788,7 +786,7 @@ spi_dv_device_internal(struct scsi_devicif (spi_dv_device_compare_inquiry (sdev, buffer, buffer,DV_LOOPS ) !=SPI_COMPARE_SUCCESS ) { -SPI_PRINTK (starget,KERN_ERR ,"Domain Validation Initial Inquiry Failed\n" ); +starget_printk (KERN_ERR , starget,"Domain Validation Initial Inquiry Failed\n" );/* FIXME: should probably offline the device here? */ return ; }
@@ -802,7 +800,7 @@ spi_dv_device_internal(struct scsi_devic buffer + len, DV_LOOPS) != SPI_COMPARE_SUCCESS) { -SPI_PRINTK (starget,KERN_ERR ,"Wide Transfers Fail\n" ); +starget_printk (KERN_ERR , starget,"Wide Transfers Fail\n" ); i->f->set_width (starget,0 ); } }
@@ -844,14 +842,14 @@ spi_dv_device_internal(struct scsi_devic }if (len ==0 ) { -SPI_PRINTK (starget,KERN_INFO ,"Domain Validation skipping write tests\n" ); +starget_printk (KERN_INFO , starget,"Domain Validation skipping write tests\n" );spi_dv_retrain (sdev, buffer, buffer + len, spi_dv_device_compare_inquiry);return ; }if (len >SPI_MAX_ECHO_BUFFER_SIZE ) { -SPI_PRINTK (starget,KERN_WARNING ,"Echo buffer size %d is too big, trimming to %d\n" , len,SPI_MAX_ECHO_BUFFER_SIZE ); +starget_printk (KERN_WARNING , starget,"Echo buffer size %d is too big, trimming to %d\n" , len,SPI_MAX_ECHO_BUFFER_SIZE ); len =SPI_MAX_ECHO_BUFFER_SIZE ; }
@@ -902,11 +900,11 @@ spi_dv_device(struct scsi_device *sdev)spi_dv_pending (starget) =1 ;down (&spi_dv_sem (starget)); -SPI_PRINTK (starget,KERN_INFO ,"Beginning Domain Validation\n" ); +starget_printk (KERN_INFO , starget,"Beginning Domain Validation\n" );spi_dv_device_internal (sdev, buffer); -SPI_PRINTK (starget,KERN_INFO ,"Ending Domain Validation\n" ); +starget_printk (KERN_INFO , starget,"Ending Domain Validation\n" );up (&spi_dv_sem (starget));spi_dv_pending (starget) =0 ;
drivers/scsi/sd.c +3 -6
@@ -1535,8 +1535,7 @@ static int sd_probe(struct device *dev)if (sdp->type !=TYPE_DISK && sdp->type !=TYPE_MOD && sdp->type !=TYPE_RBC ) goto out; -SCSI_LOG_HLQUEUE (3 ,printk ("sd_attach: scsi device: <%d,%d,%d,%d>\n" , - sdp->host->host_no, sdp->channel, sdp->id, sdp->lun)); +SCSI_LOG_HLQUEUE (3 ,sdev_printk (KERN_INFO , sdp,"sd_attach\n" )); error = -ENOMEM ; sdkp =kmalloc (sizeof (*sdkp),GFP_KERNEL );
@@ -1608,10 +1607,8 @@ static int sd_probe(struct device *dev)dev_set_drvdata (dev, sdkp);add_disk (gd); -printk (KERN_NOTICE "Attached scsi %sdisk %s at scsi%d, channel %d, " -"id %d, lun %d\n" , sdp->removable ?"removable " :"" , - gd->disk_name, sdp->host->host_no, sdp->channel, - sdp->id, sdp->lun); +sdev_printk (KERN_NOTICE , sdp,"Attached scsi %sdisk %s\n" , + sdp->removable ?"removable " :"" , gd->disk_name);return 0 ;
drivers/scsi/sg.c +5 -9
@@ -1497,10 +1497,9 @@ static int sg_alloc(struct gendisk *disk overflow:write_unlock_irqrestore (&sg_dev_arr_lock, iflags); -printk (KERN_WARNING -"Unable to attach sg device <%d, %d, %d, %d> type=%d, minor " -"number exceeds %d\n" , scsidp->host->host_no, scsidp->channel, - scsidp->id, scsidp->lun, scsidp->type,SG_MAX_DEVS -1 ); +sdev_printk (KERN_WARNING , scsidp, +"Unable to attach sg device type=%d, minor " +"number exceeds %d\n" , scsidp->type,SG_MAX_DEVS -1 ); error = -ENODEV ; goto out; }
@@ -1566,11 +1565,8 @@ sg_add(struct class_device *cl_dev) }else printk (KERN_WARNING "sg_add: sg_sys INvalid\n" ); -printk (KERN_NOTICE -"Attached scsi generic sg%d at scsi%d, channel" -" %d, id %d, lun %d, type %d\n" , k, - scsidp->host->host_no, scsidp->channel, scsidp->id, - scsidp->lun, scsidp->type); +sdev_printk (KERN_NOTICE , scsidp, +"Attached scsi generic sg%d, type %d\n" , k, scsidp->type);return 0 ;
drivers/scsi/sr.c +7 -8
@@ -360,7 +360,7 @@ static int sr_init_command(struct scsi_c }if (s_size !=512 && s_size !=1024 && s_size !=2048 ) { -printk ("sr: bad sector size %d\n" , s_size); +scmd_printk (KERN_ERR , SCpnt,"bad sector size %d\n" , s_size);return 0 ; }
@@ -385,8 +385,9 @@ static int sr_init_command(struct scsi_c size += sg[i].length;if (size != SCpnt->request_bufflen && SCpnt->use_sg) { -printk (KERN_ERR "sr: mismatch count %d, bytes %d\n" , - size, SCpnt->request_bufflen); +scmd_printk (KERN_ERR , SCpnt, +"mismatch count %d, bytes %d\n" , + size, SCpnt->request_bufflen);if (SCpnt->request_bufflen > size) SCpnt->request_bufflen = SCpnt->bufflen = size; }
@@ -397,7 +398,7 @@ static int sr_init_command(struct scsi_c*/ if (((unsigned int )SCpnt->request->sector % (s_size >>9 )) || (SCpnt->request_bufflen % s_size)) { -printk ("sr: unaligned transfer\n" ); +scmd_printk (KERN_NOTICE , SCpnt,"unaligned transfer\n" );return 0 ; }
@@ -622,10 +623,8 @@ static int sr_probe(struct device *dev) disk->flags |=GENHD_FL_REMOVABLE ;add_disk (disk); -printk (KERN_DEBUG -"Attached scsi CD-ROM %s at scsi%d, channel %d, id %d, lun %d\n" , - cd->cdi.name, sdev->host->host_no, sdev->channel, - sdev->id, sdev->lun); +sdev_printk (KERN_DEBUG , sdev, +"Attached scsi CD-ROM %s\n" , cd->cdi.name);return 0 ; fail_put:
drivers/scsi/st.c +4 -6
@@ -3885,9 +3885,7 @@ static int st_probe(struct device *dev)if (SDp->type !=TYPE_TAPE )return -ENODEV ;if ((stp =st_incompatible (SDp))) { -printk (KERN_INFO -"st: Found incompatible tape at scsi%d, channel %d, id %d, lun %d\n" , - SDp->host->host_no, SDp->channel, SDp->id, SDp->lun); +sdev_printk (KERN_INFO , SDp,"Found incompatible tape\n" );printk (KERN_INFO "st: The suggested driver is %s.\n" , stp);return -ENODEV ; }
@@ -4075,9 +4073,9 @@ static int st_probe(struct device *dev) } disk->number =devfs_register_tape (SDp->devfs_name); -printk (KERN_WARNING -"Attached scsi tape %s at scsi%d, channel %d, id %d, lun %d\n" , -tape_name (tpnt), SDp->host->host_no, SDp->channel, SDp->id, SDp->lun); +sdev_printk (KERN_WARNING , SDp, +"Attached scsi tape %s\n" ,tape_name (tpnt)); +printk (KERN_WARNING "%s: try direct i/o: %s (alignment %d B), max page reachable by HBA %lu\n" ,tape_name (tpnt), tpnt->try_dio ?"yes" :"no" ,queue_dma_alignment (SDp->request_queue) +1 , tpnt->max_pfn);
PATCH 8/9 use sfoo_printk() in drivers
In reply to Jeff Garzikcommit 2b24ff9239844b1edf7cc0b829639e46b1c1f80b
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 17:14:07 2005 -0400
[SCSI] use sfoo_printk() in drivers
drivers/scsi/3w-9xxx.c | 4 + drivers/scsi/3w-xxxx.c | 4 + drivers/scsi/53c700.c | 83 +++++++++++++++++------------------ drivers/scsi/53c700.h | 8 ++- drivers/scsi/NCR5380.c | 9 ++- drivers/scsi/aha152x.c | 3 - drivers/scsi/aha1542.c | 3 - drivers/scsi/aic7xxx/aic79xx_osm.c | 28 +++-------- drivers/scsi/aic7xxx/aic7xxx_osm.c | 22 ++------- drivers/scsi/atp870u.c | 7 +- drivers/scsi/ch.c | 4 - drivers/scsi/eata.c | 56 +++++++++-------------- drivers/scsi/eata_pio.c | 21 ++++++-- drivers/scsi/ibmmca.c | 10 ++-- drivers/scsi/ide-scsi.c | 2 drivers/scsi/in2000.c | 2 drivers/scsi/ipr.h | 5 -- drivers/scsi/megaraid/megaraid_sas.c | 5 -- drivers/scsi/osst.c | 6 +- drivers/scsi/tmscsim.c | 4 - drivers/scsi/u14-34f.c | 32 ++++++------- 21 files changed, 154 insertions(+), 164 deletions(-)
drivers/scsi/3w-9xxx.c +3 -1
@@ -1732,7 +1732,9 @@ static int twa_scsi_eh_reset(struct scsi tw_dev->num_resets++; -printk (KERN_WARNING "3w-9xxx: scsi%d: WARNING: (0x%02X:0x%04X): Unit #%d: Command (0x%x) timed out, resetting card.\n" , tw_dev->host->host_no,TW_DRIVER ,0x2c , SCpnt->device->id, SCpnt->cmnd[0 ]); +sdev_printk (KERN_WARNING , SCpnt->device, +"WARNING: (0x%02X:0x%04X): Command (0x%x) timed out, resetting card.\n" , +TW_DRIVER ,0x2c , SCpnt->cmnd[0 ]);/* Now reset the card and some of the device extension data */ if (twa_reset_device_extension (tw_dev,0 )) {
drivers/scsi/3w-xxxx.c +3 -1
@@ -1432,7 +1432,9 @@ static int tw_scsi_eh_reset(struct scsi_ tw_dev->num_resets++; -printk (KERN_WARNING "3w-xxxx: scsi%d: WARNING: Unit #%d: Command (0x%x) timed out, resetting card.\n" , tw_dev->host->host_no, SCpnt->device->id, SCpnt->cmnd[0 ]); +sdev_printk (KERN_WARNING , SCpnt->device, +"WARNING: Command (0x%x) timed out, resetting card.\n" , + SCpnt->cmnd[0 ]);/* Now reset the card and some of the device extension data */ if (tw_reset_device_extension (tw_dev,0 )) {
drivers/scsi/53c700.c +42 -41
183 lines not on this page · raw message
drivers/scsi/53c700.h +7 -1
@@ -22,8 +22,14 @@#ifdef NCR_700_DEBUG #define DEBUG (x) printk x +#define DDEBUG(prefix, sdev, fmt, a...) \ + sdev_printk(prefix, sdev, fmt, ##a) +#define CDEBUG(prefix, scmd, fmt, a...) \ + scmd_printk(prefix, scmd, fmt, ##a)#else -#define DEBUG (x) +#define DEBUG (x) do {} while (0) +#define DDEBUG(prefix, scmd, fmt, a...) do {} while (0) +#define CDEBUG(prefix, scmd, fmt, a...) do {} while (0)#endif /* The number of available command slots */
drivers/scsi/NCR5380.c +6 -3
@@ -2190,7 +2190,8 @@ static void NCR5380_information_transfer* If the watchdog timer fires, all future accesses to this * device will use the polled-IO. */ -printk ("scsi%d : switching target %d lun %d to slow handshake\n" , instance->host_no, cmd->device->id, cmd->device->lun); +scmd_printk (KERN_INFO , cmd, +"switching to slow handshake\n" ); cmd->device->borken =1 ;NCR5380_write (INITIATOR_COMMAND_REG ,ICR_BASE |ICR_ASSERT_ATN ); sink =1 ;
@@ -2429,9 +2430,11 @@ static void NCR5380_information_transferscsi_print_msg (extended_msg);printk ("\n" ); }else if (tmp !=EXTENDED_MESSAGE ) -printk ("scsi%d: rejecting unknown message %02x from target %d, lun %d\n" , instance->host_no, tmp, cmd->device->id, cmd->device->lun); +scmd_printk (KERN_INFO , cmd, +"rejecting unknown message %02x\n" ,tmp);else -printk ("scsi%d: rejecting unknown extended message code %02x, length %d from target %d, lun %d\n" , instance->host_no, extended_msg[1 ], extended_msg[0 ], cmd->device->id, cmd->device->lun); +scmd_printk (KERN_INFO , cmd, +"rejecting unknown extended message code %02x, length %d\n" , extended_msg[1 ], extended_msg[0 ]); msgout =MESSAGE_REJECT ;NCR5380_write (INITIATOR_COMMAND_REG ,ICR_BASE |ICR_ASSERT_ATN );
drivers/scsi/aha152x.c +1 -2
@@ -2921,8 +2921,7 @@ static void disp_enintr(struct Scsi_Host*/ static void show_command (Scsi_Cmnd *ptr) { -printk (KERN_DEBUG "0x%08x: target=%d; lun=%d; cmnd=(" , - (unsigned int ) ptr, ptr->device->id, ptr->device->lun); +scmd_printk (KERN_DEBUG , ptr,"%p: cmnd=(" , ptr);__scsi_print_command (ptr->cmnd);
drivers/scsi/aha1542.c +2 -1
@@ -1405,7 +1405,8 @@ static int aha1542_dev_reset(Scsi_Cmnd **/ aha1542_out (SCpnt->device->host->io_port, &ahacmd,1 ); -printk (KERN_WARNING "aha1542.c: Trying device reset for target %d\n" , SCpnt->device->id); +scmd_printk (KERN_WARNING , SCpnt, +"Trying device reset for target\n" );return SUCCESS ;
drivers/scsi/aic7xxx/aic79xx_osm.c +9 -19
@@ -52,6 +52,7 @@ static struct scsi_transport_template *a#include <linux/mm.h> /* For fetching system memory size */ #include <linux/blkdev.h> /* For block_size() */ #include <linux/delay.h> /* For ssleep/msleep */ +#include <linux/device.h> /* * Bucket size for counting good commands in between bad ones.
@@ -565,7 +566,7 @@ ahd_linux_slave_configure(struct scsi_de ahd = *((struct ahd_softc **)sdev->host->hostdata);if (bootverbose) -printf ("%s: Slave Configure %d\n" ,ahd_name (ahd), sdev->id); +sdev_printk (KERN_INFO , sdev,"Slave Configure\n" );ahd_linux_device_queue_depth (sdev);
@@ -2067,9 +2068,8 @@ ahd_linux_queue_recovery_cmd(struct scsi wait = FALSE; ahd = *(struct ahd_softc **)cmd->device->host->hostdata; -printf ("%s:%d:%d:%d: Attempting to queue a%s message:" , -ahd_name (ahd), cmd->device->channel, - cmd->device->id, cmd->device->lun, +scmd_printk (KERN_INFO , cmd, +"Attempting to queue a%s message:" , flag ==SCB_ABORT ?"n ABORT" :" TARGET RESET" );printf ("CDB:" );
@@ -2093,9 +2093,7 @@ ahd_linux_queue_recovery_cmd(struct scsi* No target device for this command exists, * so we must not still own the command. */ -printf ("%s:%d:%d:%d: Is not an active device\n" , -ahd_name (ahd), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Is not an active device\n" ); retval =SUCCESS ; goto no_cmd; }
@@ -2121,9 +2119,7 @@ ahd_linux_queue_recovery_cmd(struct scsi }if (pending_scb ==NULL ) { -printf ("%s:%d:%d:%d: Command not found\n" , -ahd_name (ahd), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Command not found\n" ); goto no_cmd; }
@@ -2146,9 +2142,7 @@ ahd_linux_queue_recovery_cmd(struct scsi paused = TRUE;if ((pending_scb->flags &SCB_ACTIVE ) ==0 ) { -printf ("%s:%d:%d:%d: Command already completed\n" , -ahd_name (ahd), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Command already completed\n" ); goto no_cmd; }
@@ -2214,9 +2208,7 @@ ahd_linux_queue_recovery_cmd(struct scsi pending_scb->flags |=SCB_RECOVERY_SCB |flag;ahd_outb (ahd,MSG_OUT ,HOST_MSG );ahd_outb (ahd,SCSISIGO , last_phase|ATNO ); -printf ("%s:%d:%d:%d: Device is active, asserting ATN\n" , -ahd_name (ahd), cmd->device->channel, - cmd->device->id, cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Device is active, asserting ATN\n" ); wait = TRUE; }else if (disconnected) {
@@ -2277,9 +2269,7 @@ ahd_linux_queue_recovery_cmd(struct scsiprintf ("Device is disconnected, re-queuing SCB\n" ); wait = TRUE; }else { -printf ("%s:%d:%d:%d: Unable to deliver message\n" , -ahd_name (ahd), cmd->device->channel, - cmd->device->id, cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Unable to deliver message\n" ); retval =FAILED ; goto done; }
drivers/scsi/aic7xxx/aic7xxx_osm.c +6 -16
@@ -641,7 +641,7 @@ ahc_linux_slave_configure(struct scsi_de ahc = *((struct ahc_softc **)sdev->host->hostdata);if (bootverbose) -printf ("%s: Slave Configure %d\n" ,ahc_name (ahc), sdev->id); +sdev_printk (KERN_INFO , sdev,"Slave Configure\n" );ahc_linux_device_queue_depth (sdev);
@@ -2117,9 +2117,7 @@ ahc_linux_queue_recovery_cmd(struct scsi wait = FALSE; ahc = *(struct ahc_softc **)cmd->device->host->hostdata; -printf ("%s:%d:%d:%d: Attempting to queue a%s message\n" , -ahc_name (ahc), cmd->device->channel, - cmd->device->id, cmd->device->lun, +scmd_printk (KERN_INFO , cmd,"Attempting to queue a%s message\n" , flag ==SCB_ABORT ?"n ABORT" :" TARGET RESET" );printf ("CDB:" );
@@ -2183,9 +2181,7 @@ ahc_linux_queue_recovery_cmd(struct scsi }if (pending_scb ==NULL ) { -printf ("%s:%d:%d:%d: Command not found\n" , -ahc_name (ahc), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Command not found\n" ); goto no_cmd; }
@@ -2207,9 +2203,7 @@ ahc_linux_queue_recovery_cmd(struct scsi paused = TRUE;if ((pending_scb->flags &SCB_ACTIVE ) ==0 ) { -printf ("%s:%d:%d:%d: Command already completed\n" , -ahc_name (ahc), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Command already completed\n" ); goto no_cmd; }
@@ -2276,9 +2270,7 @@ ahc_linux_queue_recovery_cmd(struct scsi pending_scb->flags |=SCB_RECOVERY_SCB |flag;ahc_outb (ahc,MSG_OUT ,HOST_MSG );ahc_outb (ahc,SCSISIGO , last_phase|ATNO ); -printf ("%s:%d:%d:%d: Device is active, asserting ATN\n" , -ahc_name (ahc), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Device is active, asserting ATN\n" ); wait = TRUE; }else if (disconnected) {
@@ -2344,9 +2336,7 @@ ahc_linux_queue_recovery_cmd(struct scsiprintf ("Device is disconnected, re-queuing SCB\n" ); wait = TRUE; }else { -printf ("%s:%d:%d:%d: Unable to deliver message\n" , -ahc_name (ahc), cmd->device->channel, cmd->device->id, - cmd->device->lun); +scmd_printk (KERN_INFO , cmd,"Unable to deliver message\n" ); retval =FAILED ; goto done; }
drivers/scsi/atp870u.c +3 -4
@@ -297,11 +297,10 @@ stop_dma: } workreq = dev->id[c][target_id].curr_req;#ifdef ED_DBGP -printk (KERN_DEBUG "Channel = %d ID = %d LUN = %d CDB" ,c,workreq->device->id,workreq->device->lun); -for (l=0 ;l<workreq->cmd_len;l++) - { +scmd_printk (KERN_DEBUG , workreq,"CDB" ); +for (l =0 ; l < workreq->cmd_len; l++)printk (KERN_DEBUG " %x" ,workreq->cmnd[l]); - } +printk ("\n" );#endif tmport = workport +0x0f ;
drivers/scsi/ch.c +1 -3
@@ -940,9 +940,7 @@ static int ch_probe(struct device *dev)MKDEV (SCSI_CHANGER_MAJOR ,ch->minor), dev, "s%s", ch->name); -printk (KERN_INFO "Attached scsi changer %s " -"at scsi%d, channel %d, id %d, lun %d\n" , - ch->name, sd->host->host_no, sd->channel, sd->id, sd->lun); +sdev_printk (KERN_INFO , sd,"Attached scsi changer %s\n" , ch->name);spin_lock (&ch_devlist_lock);list_add_tail (&ch->list,&ch_devlist);
drivers/scsi/eata.c +23 -33
117 lines not on this page · raw message
drivers/scsi/eata_pio.c +15 -6
@@ -384,7 +384,9 @@ static int eata_pio_queue(struct scsi_cm cp->status =USED ;/* claim free slot */ -DBG (DBG_QUEUE ,printk (KERN_DEBUG "eata_pio_queue pid %ld, target: %x, lun:" " %x, y %d\n" , cmd->pid, cmd->device->id, cmd->device->lun, y)); +DBG (DBG_QUEUE ,scmd_printk (KERN_DEBUG , cmd, +"eata_pio_queue pid %ld, y %d\n" , + cmd->pid, y)); cmd->scsi_done = (void *) done;
@@ -427,7 +429,9 @@ static int eata_pio_queue(struct scsi_cmif (eata_pio_send_command (base,EATA_CMD_PIO_SEND_CP )) { cmd->result =DID_BUS_BUSY <<16 ; -printk (KERN_NOTICE "eata_pio_queue target %d, pid %ld, HBA busy, " "returning DID_BUS_BUSY, done.\n" , cmd->device->id, cmd->pid); +scmd_printk (KERN_NOTICE , cmd, +"eata_pio_queue pid %ld, HBA busy, " +"returning DID_BUS_BUSY, done.\n" , cmd->pid);done (cmd); cp->status =FREE ;return (0 );
@@ -440,7 +444,9 @@ static int eata_pio_queue(struct scsi_cmfor (x =0 ; x < hd->cppadlen; x++)outw (0 , base +HA_RDATA ); -DBG (DBG_QUEUE ,printk (KERN_DEBUG "Queued base %#.4lx pid: %ld target: %x " "lun: %x slot %d irq %d\n" , (long ) sh->base, cmd->pid, cmd->device->id, cmd->device->lun, y, sh->irq)); +DBG (DBG_QUEUE ,scmd_printk (KERN_DEBUG , cmd, +"Queued base %#.4lx pid: %ld " +"slot %d irq %d\n" , (long ) sh->base, cmd->pid, y, sh->irq));return (0 ); }
@@ -449,8 +455,9 @@ static int eata_pio_abort(struct scsi_cm {uint loop =HZ ; -DBG (DBG_ABNORM ,printk (KERN_WARNING "eata_pio_abort called pid: %ld " "target: %x lun: %x\n" , cmd->pid, cmd->device->id, cmd->device->lun)); - +DBG (DBG_ABNORM ,scmd_printk (KERN_WARNING , cmd, +"eata_pio_abort called pid: %ld\n" , + cmd->pid));while (inb (cmd->device->host->base +HA_RAUXSTAT ) &HA_ABUSY )if (--loop ==0 ) {
@@ -484,7 +491,9 @@ static int eata_pio_host_reset(struct scstruct scsi_cmnd *sp;struct Scsi_Host *host = cmd->device->host; -DBG (DBG_ABNORM ,printk (KERN_WARNING "eata_pio_reset called pid:%ld target:" " %x lun: %x\n" , cmd->pid, cmd->device->id, cmd->device->lun)); +DBG (DBG_ABNORM ,scmd_printk (KERN_WARNING , cmd, +"eata_pio_reset called pid:%ld\n" , + cmd->pid));spin_lock_irq (host->host_lock);
drivers/scsi/ibmmca.c +7 -3
@@ -673,8 +673,9 @@ static irqreturn_t interrupt_handler(intld (ihost_index)[ldn].cmd =NULL ;#ifdef IM_DEBUG_TIMEOUT if (cmd) { -if ((cmd->target ==TIMEOUT_PUN ) && (cmd->device->lun ==TIMEOUT_LUN )) { -printk ("IBM MCA SCSI: Ignoring interrupt from pun=%x, lun=%x.\n" , cmd->target, cmd->device->lun); +if ((cmd->target ==TIMEOUT_PUN ) && (scsilun_to_int (&cmd->device->lun) ==TIMEOUT_LUN )) { +scmd_printk (KERN_INFO , cmd, +"IBM MCA SCSI: Ignoring interrupt\n" );return IRQ_HANDLED ; } }
@@ -1860,7 +1861,10 @@ static int ibmmca_queuecommand(Scsi_Cmndnext_ldn (host_index) =7 ;if (current_ldn ==next_ldn (host_index)) {/* One circle done ? */ /* no non-processing ldn found */ -printk ("IBM MCA SCSI: Cannot assign SCSI-device dynamically!\n" " On ldn 7-14 SCSI-commands everywhere in progress.\n" " Reporting DID_NO_CONNECT for device (%d,%d).\n" , target, cmd->device->lun); +scmd_printk (KERN_WARNING , cmd, +"IBM MCA SCSI: Cannot assign SCSI-device dynamically!\n" +" On ldn 7-14 SCSI-commands everywhere in progress.\n" +" Reporting DID_NO_CONNECT for device.\n" ); cmd->result =DID_NO_CONNECT <<16 ;/* return no connect */ if (done)done (cmd);
drivers/scsi/ide-scsi.c +1 -1
@@ -893,7 +893,7 @@ static int idescsi_queue (struct scsi_cmidescsi_pc_t *pc =NULL ;if (!drive) { -printk (KERN_ERR "ide-scsi: drive id %d not present\n" , cmd->device->id); +scmd_printk (KERN_ERR , cmd,"drive not present\n" ); goto abort; } scsi =drive_to_idescsi (drive);
drivers/scsi/in2000.c +1 -1
@@ -343,7 +343,7 @@ static int in2000_queuecommand(Scsi_Cmnd instance = cmd->device->host; hostdata = (struct IN2000_hostdata *) instance->hostdata; -DB (DB_QUEUE_COMMAND ,printk ("Q-%d-%02x-%ld(" , cmd->device->id, cmd->cmnd[0 ], cmd->pid)) +DB (DB_QUEUE_COMMAND ,scmd_printk (KERN_DEBUG , cmd,"Q-%02x-%ld(" , cmd->cmnd[0 ], cmd->pid))/* Set up a few fields in the Scsi_Cmnd structure for our own use: * - host_scribble is the pointer to the next cmd in the input queue
drivers/scsi/ipr.h +2 -3
@@ -1114,9 +1114,8 @@ struct ipr_ucode_image_header {#define ipr_warn (...) printk(KERN_WARNING IPR_NAME": "__VA_ARGS__)#define ipr_dbg (...) IPR_DBG_CMD(printk(KERN_INFO IPR_NAME ": "__VA_ARGS__)) -#define ipr_sdev_printk (level, sdev, fmt, ...) \ - printk(level IPR_NAME ": %d:%d:%d:%d: " fmt, sdev->host->host_no, \ - sdev->channel, sdev->id, sdev->lun, ##__VA_ARGS__) +#define ipr_sdev_printk(level, sdev, fmt, args...) \ + sdev_printk(level, sdev, fmt, ## args)#define ipr_sdev_err (sdev, fmt, ...) \ ipr_sdev_printk(KERN_ERR, sdev, fmt, ##__VA_ARGS__)
drivers/scsi/megaraid/megaraid_sas.c +2 -3
@@ -758,9 +758,8 @@ static int megasas_generic_reset(struct instance = (struct megasas_instance *)scmd->device->host->hostdata; -printk (KERN_NOTICE "megasas: RESET -%ld cmd=%x <c=%d t=%d l=%d>\n" , - scmd->serial_number, scmd->cmnd[0 ], scmd->device->channel, - scmd->device->id, scmd->device->lun); +scmd_printk (KERN_NOTICE , scmd,"megasas: RESET -%ld cmd=%x\n" , + scmd->serial_number, scmd->cmnd[0 ]);if (instance->hw_crit_error) { printk(KERN_ERR "megasas: cannot recover from previous reset "
drivers/scsi/osst.c +3 -3
@@ -5817,9 +5817,9 @@ static int osst_probe(struct device *dev } drive->number =devfs_register_tape (SDp->devfs_name); -printk (KERN_INFO -"osst :I: Attached OnStream %.5s tape at scsi%d, channel %d, id %d, lun %d as %s\n" , - SDp->model, SDp->host->host_no, SDp->channel, SDp->id, SDp->lun,tape_name (tpnt)); +sdev_printk (KERN_INFO , SDp, +"osst :I: Attached OnStream %.5s tape as %s\n" , + SDp->model,tape_name (tpnt));return 0 ;
drivers/scsi/tmscsim.c +2 -2
@@ -2077,8 +2077,8 @@ static int DC390_abort(struct scsi_cmndstruct dc390_acb *pACB = (struct dc390_acb *) cmd->device->host->hostdata;struct dc390_dcb *pDCB = (struct dc390_dcb *) cmd->device->hostdata; -printk ("DC390: Abort command (pid %li, Device %02i-%02i)\n" , - cmd->pid, cmd->device->id, cmd->device->lun); +scmd_printk (KERN_WARNING , cmd, +"DC390: Abort command (pid %li)\n" , cmd->pid);/* abort() is too stupid for already sent commands at the moment. * If it's called we are in trouble anyway, so let's dump some info
drivers/scsi/u14-34f.c +15 -17
@@ -726,8 +726,7 @@ static int u14_34f_slave_configure(strucelse link_suffix ="" ; -printk ("%s: scsi%d, channel %d, id %d, lun %d, cmds/lun %d%s%s.\n" , -BN (j), host->host_no, dev->channel, dev->id, dev->lun, +sdev_printk (KERN_INFO , dev,"cmds/lun %d%s%s.\n" , dev->queue_depth, link_suffix, tag_suffix);return FALSE;
@@ -1319,8 +1318,8 @@ static int u14_34f_queuecommand(struct sif (wait_on_busy (sh[j]->io_port,MAXLOOP )) {unmap_dma (i, j); SCpnt->host_scribble =NULL ; -printk ("%s: qcomm, target %d.%d:%d, pid %ld, adapter busy.\n" , -BN (j), SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, SCpnt->pid); +scmd_printk (KERN_INFO , SCpnt, +"qcomm, pid %ld, adapter busy.\n" , SCpnt->pid);return 1 ; }
@@ -1340,14 +1339,14 @@ static int u14_34f_eh_abort(struct scsi_ j = ((struct hostdata *) SCarg->device->host->hostdata)->board_number;if (SCarg->host_scribble ==NULL ) { -printk ("%s: abort, target %d.%d:%d, pid %ld inactive.\n" , -BN (j), SCarg->device->channel, SCarg->device->id, SCarg->device->lun, SCarg->pid); +scmd_printk (KERN_INFO , SCarg,"abort, pid %ld inactive.\n" , + SCarg->pid);return SUCCESS ; } i = *(unsigned int *)SCarg->host_scribble; -printk ("%s: abort, mbox %d, target %d.%d:%d, pid %ld.\n" , -BN (j), i, SCarg->device->channel, SCarg->device->id, SCarg->device->lun, SCarg->pid); +scmd_printk (KERN_INFO , SCarg,"abort, mbox %d, pid %ld.\n" , + i, SCarg->pid);if (i >= sh[j]->can_queue)panic ("%s: abort, invalid SCarg->host_scribble.\n" ,BN (j));
@@ -1405,8 +1404,7 @@ static int u14_34f_eh_host_reset(structstruct scsi_cmnd *SCpnt; j = ((struct hostdata *) SCarg->device->host->hostdata)->board_number; -printk ("%s: reset, enter, target %d.%d:%d, pid %ld.\n" , -BN (j), SCarg->device->channel, SCarg->device->id, SCarg->device->lun, SCarg->pid); +scmd_printk (KERN_INFO , SCarg,"reset, enter, pid %ld.\n" , SCarg->pid);spin_lock_irq (sh[j]->host_lock);
@@ -1709,9 +1707,10 @@ static void flush_dev(struct scsi_device k = il[n]; cpp = &HD (j)->cp[k]; SCpnt = cpp->SCpnt;if (wait_on_busy (sh[j]->io_port,MAXLOOP )) { -printk ("%s: %s, target %d.%d:%d, pid %ld, mbox %d, adapter" \ -" busy, will abort.\n" ,BN (j), (ihdlr ?"ihdlr" :"qcomm" ), - SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, SCpnt->pid, k); +scmd_printk (KERN_INFO , SCpnt, +"%s, pid %ld, mbox %d, adapter" +" busy, will abort.\n" , (ihdlr ?"ihdlr" :"qcomm" ), + SCpnt->pid, k);HD (j)->cp_stat[k] =ABORTING ;continue ; }
@@ -1914,10 +1913,9 @@ static irqreturn_t ihdlr(int irq, unsign spp->adapter_status != ASST && HD(j)->iocount <= 1000) || do_trace || msg_byte(spp->target_status))#endif -printk ("%s: ihdlr, mbox %2d, err 0x%x:%x," \ -" target %d.%d:%d, pid %ld, reg 0x%x, count %d.\n" , -BN (j), i, spp->adapter_status, spp->target_status, - SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, SCpnt->pid, +scmd_printk (KERN_INFO , SCpnt,"ihdlr, mbox %2d, err 0x%x:%x," \ +" pid %ld, reg 0x%x, count %d.\n" , + i, spp->adapter_status, spp->target_status, SCpnt->pid, reg,HD (j)->iocount);unmap_dma (i, j);
PATCH 9/9 use scmd_id(), scmd_channel() throughout code
In reply to Jeff Garzikcommit 02fe57d2a30f420698743b6602c953f2ec3a9039
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 17:46:24 2005 -0400
[SCSI] use scmd_id(), scmd_channel() throughout code
Wrap a highly common idiom. Makes the code easier to read, helps pave the way for sdev->{id,channel} removal, and adds a token that can easily by grepped-for in the future.
There are a couple sdev_id() and scmd_printk() updates thrown in as well.
drivers/scsi/53c700.c | 6 +++--- drivers/scsi/NCR5380.c | 12 ++++++------ drivers/scsi/NCR53C9x.c | 16 ++++++++-------- drivers/scsi/NCR53c406a.c | 2 +- drivers/scsi/a100u2w.c | 2 +- drivers/scsi/aacraid/aachba.c | 6 +++--- drivers/scsi/aha1740.c | 2 +- drivers/scsi/aic7xxx/aic79xx_osm.c | 11 ++++++----- drivers/scsi/aic7xxx/aic7xxx_osm.c | 10 +++++----- drivers/scsi/atp870u.c | 22 +++++++++++----------- drivers/scsi/fd_mcs.c | 4 ++-- drivers/scsi/fdomain.c | 4 ++-- drivers/scsi/imm.c | 2 +- drivers/scsi/ips.c | 10 +++++----- drivers/scsi/ncr53c8xx.c | 8 ++++---- drivers/scsi/nsp32.c | 8 ++++---- drivers/scsi/pcmcia/nsp_cs.c | 10 +++++----- drivers/scsi/pcmcia/sym53c500_cs.c | 2 +- drivers/scsi/ppa.c | 2 +- drivers/scsi/psi240i.c | 2 +- drivers/scsi/qlogicfas408.c | 4 ++-- drivers/scsi/scsi_debug.c | 2 +- drivers/scsi/scsi_error.c | 16 +++++++++------- drivers/scsi/sym53c416.c | 2 +- drivers/scsi/u14-34f.c | 15 +++++++-------- 25 files changed, 91 insertions(+), 89 deletions(-)
drivers/scsi/53c700.c +3 -3
@@ -1427,7 +1427,7 @@ NCR_700_start_command(struct scsi_cmnd ** If a contingent allegiance condition exists, the device * will refuse all tags, so send the request sense as untagged * */ -if ((hostdata->tag_negotiated & (1 <<SCp->device->id)) +if ((hostdata->tag_negotiated & (1 <<scmd_id (SCp))) && (slot->tag !=SCSI_NO_TAG && SCp->cmnd[0 ] !=REQUEST_SENSE )) { count +=scsi_populate_tag_msg (SCp, &hostdata->msgout[count]); }
@@ -1446,7 +1446,7 @@ NCR_700_start_command(struct scsi_cmnd *script_patch_ID (hostdata->script, - Device_ID,1 <<SCp->device->id); + Device_ID,1 <<scmd_id (SCp));script_patch_32_abs (hostdata->script, CommandAddress, slot->pCmd);
@@ -2111,7 +2111,7 @@ static int NCR_700_change_queue_type(str/* shift back to the default unqueued number of commands * (the user can still raise this) */ scsi_deactivate_tcq (SDp, SDp->host->cmd_per_lun); - hostdata->tag_negotiated &= ~(1 << SDp->id); + hostdata->tag_negotiated &= ~(1 <<sdev_id (SDp)); }else {/* Here, we cleared the negotiation flag above, so this * will force the driver to renegotiate */
drivers/scsi/NCR5380.c +6 -6
@@ -1247,13 +1247,13 @@ static void collect_stats(struct NCR5380case WRITE :case WRITE_6 :case WRITE_10 : - hostdata->time_write[cmd->device->id] += (jiffies - hostdata->timebase); + hostdata->time_write[scmd_id (cmd)] += (jiffies - hostdata->timebase); hostdata->pendingw--;break ;case READ :case READ_6 :case READ_10 : - hostdata->time_read[cmd->device->id] += (jiffies - hostdata->timebase); + hostdata->time_read[scmd_id (cmd)] += (jiffies - hostdata->timebase); hostdata->pendingr--;break ; }
@@ -1385,7 +1385,7 @@ static int NCR5380_select(struct Scsi_Ho* the host and target ID's on the SCSI bus. */ -NCR5380_write (OUTPUT_DATA_REG , (hostdata->id_mask | (1 << cmd->device->id))); +NCR5380_write (OUTPUT_DATA_REG , (hostdata->id_mask | (1 <<scmd_id (cmd))));/* * Raise ATN while SEL is true before BSY goes false from arbitration,
@@ -1430,7 +1430,7 @@ static int NCR5380_select(struct Scsi_Houdelay (1 ); -dprintk (NDEBUG_SELECTION , ("scsi%d : selecting target %d\n" , instance->host_no, cmd->device->id)); +dprintk (NDEBUG_SELECTION , ("scsi%d : selecting target %d\n" , instance->host_no,scmd_id (cmd)));/* * The SCSI specification calls for a 250 ms timeout for the actual
@@ -1483,7 +1483,7 @@ part2:if (!(NCR5380_read (STATUS_REG ) &SR_BSY )) {NCR5380_write (INITIATOR_COMMAND_REG ,ICR_BASE ); -if (hostdata->targets_present & (1 << cmd->device->id)) { +if (hostdata->targets_present & (1 <<scmd_id (cmd))) {printk (KERN_DEBUG "scsi%d : weirdness\n" , instance->host_no);if (hostdata->restart_select)printk (KERN_DEBUG "\trestart select\n" );
@@ -1499,7 +1499,7 @@ part2:NCR5380_write (SELECT_ENABLE_REG , hostdata->id_mask);return 0 ; } - hostdata->targets_present |= (1 << cmd->device->id); + hostdata->targets_present |= (1 <<scmd_id (cmd));/* * Since we followed the SCSI spec, and raised ATN while SEL
drivers/scsi/NCR53C9x.c +8 -8
@@ -936,7 +936,7 @@ static void esp_release_dmabufs(struct Nstatic void esp_restore_pointers (struct NCR_ESP *esp,Scsi_Cmnd *sp) { -struct esp_pointers *ep = &esp->data_pointers[sp->device->id]; +struct esp_pointers *ep = &esp->data_pointers[scmd_id (sp)]; sp->SCp.ptr = ep->saved_ptr; sp->SCp.buffer = ep->saved_buffer;
@@ -946,7 +946,7 @@ static void esp_restore_pointers(structstatic void esp_save_pointers (struct NCR_ESP *esp,Scsi_Cmnd *sp) { -struct esp_pointers *ep = &esp->data_pointers[sp->device->id]; +struct esp_pointers *ep = &esp->data_pointers[scmd_id (sp)]; ep->saved_ptr = sp->SCp.ptr; ep->saved_buffer = sp->SCp.buffer;
@@ -1693,13 +1693,13 @@ static inline void esp_connect(struct NCif (esp->prev_soff != esp_dev->sync_max_offset || esp->prev_stp != esp_dev->sync_min_period || (esp->erev > esp100a && - esp->prev_cfg3 != esp->config3[sp->device->id])) { + esp->prev_cfg3 != esp->config3[scmd_id (sp)])) { esp->prev_soff = esp_dev->sync_max_offset;esp_write (eregs->esp_soff, esp->prev_soff); esp->prev_stp = esp_dev->sync_min_period;esp_write (eregs->esp_stp, esp->prev_stp);if (esp->erev > esp100a) { - esp->prev_cfg3 = esp->config3[sp->device->id]; + esp->prev_cfg3 = esp->config3[scmd_id (sp)];esp_write (eregs->esp_cfg3, esp->prev_cfg3); } }
@@ -2205,7 +2205,7 @@ static int esp_do_freebus(struct NCR_ESPif (SCptr->SCp.Status !=GOOD && SCptr->SCp.Status !=CONDITION_GOOD && - ((1 <<SCptr->device->id) & esp->targets_present) && + ((1 <<scmd_id (SCptr)) & esp->targets_present) && esp_dev->sync && esp_dev->sync_max_offset) {/* SCSI standard says that the synchronous capabilities * should be renegotiated at this point. Most likely
@@ -2597,7 +2597,7 @@ static int esp_select_complete(struct NC*/ if (esp->ireg == (ESP_INTR_FDONE |ESP_INTR_BSERV )) {/* target speaks... */ - esp->targets_present |= (1 <<SCptr->device->id); + esp->targets_present |= (1 <<scmd_id (SCptr));/* What if the target ignores the sdtr? */ if (esp->snip)
@@ -3064,7 +3064,7 @@ static int check_multibyte_msg(struct NCESPSDTR (("soff=%2x stp=%2x cfg3=%2x\n" , esp_dev->sync_max_offset, esp_dev->sync_min_period, - esp->config3[SCptr->device->id])); + esp->config3[scmd_id (SCptr)])); esp->snip =0 ; }else if (esp_dev->sync_max_offset) {
@@ -3621,7 +3621,7 @@ void esp_slave_destroy(Scsi_Device *SDpt {struct NCR_ESP *esp = (struct NCR_ESP *) SDptr->host->hostdata; - esp->targets_present &= ~(1 << SDptr->id); + esp->targets_present &= ~(1 <<sdev_id (SDptr));kfree (SDptr->hostdata); SDptr->hostdata =NULL ; }
drivers/scsi/NCR53c406a.c +1 -1
@@ -710,7 +710,7 @@ static int NCR53c406a_queue(Scsi_Cmnd */* We are locked here already by the mid layer */ REG0 ; -outb (SCpnt->device->id,DEST_ID );/* set destination */ +outb (scmd_id (SCpnt),DEST_ID );/* set destination */ outb (FLUSH_FIFO ,CMD_REG );/* reset the fifos */ for (i =0 ; i < SCpnt->cmd_len; i++) {
drivers/scsi/a100u2w.c +1 -1
@@ -923,7 +923,7 @@ static int inia100_device_reset(struct s {/* I need Host Control Block Information */ ORC_HCS *pHCB; pHCB = (ORC_HCS *) SCpnt->device->host->hostdata; -return orc_device_reset (pHCB, SCpnt, SCpnt->device->id); +return orc_device_reset (pHCB, SCpnt,scmd_id (SCpnt)); }
drivers/scsi/aacraid/aachba.c +3 -3
@@ -1541,7 +1541,7 @@ int aac_scsi_cmd(struct scsi_cmnd * scsi* Set the Vendor, Product, and Revision Level * see: <vendor>.c i.e. aac.c */ -if (scsicmd->device->id == host->this_id) { +if (scmd_id (scsicmd) == host->this_id) {setinqstr (cardtype, (void *) (inq_data.inqd_vid), (sizeof (container_types)/sizeof (char *))); inq_data.inqd_pdt =INQD_PDT_PROC ;/* Processor device */ aac_internal_transfer (scsicmd, &inq_data,0 ,sizeof (inq_data));
@@ -1931,7 +1931,7 @@ static void aac_srb_callback(void *conte* the channel is 2 */ }else if ((dev->raid_scsi_mode) && - (scsicmd->device->channel ==2 )) { + (scmd_channel (scsicmd) ==2 )) { scsicmd->result =DID_OK <<16 |COMMAND_COMPLETE <<8 ; }else {
@@ -1975,7 +1975,7 @@ static void aac_srb_callback(void *conte* the channel is 2 */ }else if ((dev->raid_scsi_mode) && - (scsicmd->device->channel ==2 )) { + (scmd_channel (scsicmd) ==2 )) { scsicmd->result =DID_OK <<16 |COMMAND_COMPLETE <<8 ; }else {
drivers/scsi/aha1740.c +1 -1
@@ -347,7 +347,7 @@ static int aha1740_queuecommand(Scsi_Cmn {unchar direction;unchar *cmd = (unchar *) SCpnt->cmnd; -unchar target = SCpnt->device->id; +unchar target =scmd_id (SCpnt);struct aha1740_hostdata *host =HOSTDATA (SCpnt->device->host);unsigned long flags;void *buff = SCpnt->request_buffer;
drivers/scsi/aic7xxx/aic79xx_osm.c +6 -5
@@ -398,7 +398,7 @@ ahd_linux_unmap_scb(struct ahd_softc *ah/******************************** Macros **************************************/ #define BUILD_SCSIID (ahd, cmd) \ - ((((cmd)->device->id << TID_SHIFT) & TID) | (ahd)->our_id) + (((scmd_id(cmd) << TID_SHIFT) & TID) | (ahd)->our_id)/* * Return a string describing the driver.
@@ -685,7 +685,7 @@ ahd_linux_bus_reset(struct scsi_cmnd *cm ahd_name(ahd), cmd);#endif ahd_lock (ahd, &s); - found =ahd_reset_channel (ahd, cmd->device->channel +'A' , + found =ahd_reset_channel (ahd,scmd_channel (cmd) +'A' ,/*initiate reset*/ TRUE);ahd_unlock (ahd, &s);
@@ -2110,8 +2110,9 @@ ahd_linux_queue_recovery_cmd(struct scsi/* Any SCB for this device will do for a target reset */ LIST_FOREACH(pending_scb, &ahd->pending_scbs, pending_links) { -if (ahd_match_scb (ahd, pending_scb, cmd->device->id, - cmd->device->channel +'A' , +if (ahd_match_scb (ahd, pending_scb, +scmd_id (cmd), +scmd_channel (cmd) +'A' ,CAM_LUN_WILDCARD ,SCB_LIST_NULL ,ROLE_INITIATOR ) ==0 )break ;
@@ -2198,7 +2199,7 @@ ahd_linux_queue_recovery_cmd(struct scsiif (last_phase !=P_BUSFREE && (SCB_GET_TAG (pending_scb) == active_scbptr || (flag ==SCB_DEVICE_RESET - &&SCSIID_TARGET (ahd, saved_scsiid) == cmd->device->id))) { + &&SCSIID_TARGET (ahd, saved_scsiid) ==scmd_id (cmd)))) {/* * We're active on the bus, so assert ATN
drivers/scsi/aic7xxx/aic7xxx_osm.c +5 -5
@@ -686,7 +686,7 @@ ahc_linux_biosparam(struct scsi_device *u_int channel; ahc = *((struct ahc_softc **)sdev->host->hostdata); - channel = sdev->channel; + channel =sdev_channel (sdev); bh =scsi_bios_ptable (bdev);if (bh) {
@@ -759,7 +759,7 @@ ahc_linux_bus_reset(struct scsi_cmnd *cm ahc = *(struct ahc_softc **)cmd->device->host->hostdata;ahc_lock (ahc, &flags); - found =ahc_reset_channel (ahc, cmd->device->channel +'A' , + found =ahc_reset_channel (ahc,scmd_channel (cmd) +'A' ,/*initiate reset*/ TRUE);ahc_unlock (ahc, &flags);
@@ -2172,8 +2172,8 @@ ahc_linux_queue_recovery_cmd(struct scsi/* Any SCB for this device will do for a target reset */ LIST_FOREACH(pending_scb, &ahc->pending_scbs, pending_links) { -if (ahc_match_scb (ahc, pending_scb, cmd->device->id, - cmd->device->channel +'A' , +if (ahc_match_scb (ahc, pending_scb,scmd_id (cmd), +scmd_channel (cmd) +'A' ,CAM_LUN_WILDCARD ,SCB_LIST_NULL ,ROLE_INITIATOR ) ==0 )break ;
@@ -2260,7 +2260,7 @@ ahc_linux_queue_recovery_cmd(struct scsiif (last_phase !=P_BUSFREE && (pending_scb->hscb->tag == active_scb_index || (flag ==SCB_DEVICE_RESET - &&SCSIID_TARGET (ahc, saved_scsiid) == cmd->device->id))) { + &&SCSIID_TARGET (ahc, saved_scsiid) ==scmd_id (cmd)))) {/* * We're active on the bus, so assert ATN
drivers/scsi/atp870u.c +11 -11
@@ -621,10 +621,10 @@ static int atp870u_queuecommand(struct sstruct atp_unit *dev;struct Scsi_Host *host; - c = req_p->device->channel; + c =scmd_channel (req_p); req_p->sense_buffer[0 ]=0 ; req_p->resid =0 ; -if (req_p->device->channel >1 ) { +if (scmd_channel (req_p) >1 ) { req_p->result =0x00040000 ;done (req_p);#ifdef ED_DBGP
@@ -639,7 +639,7 @@ static int atp870u_queuecommand(struct s m =1 ; - m = m << req_p->device->id; + m = m <<scmd_id (req_p);/* * Fake a timeout for missing targets
@@ -757,9 +757,9 @@ static void send_s870(struct atp_unit *d dev->quhd[c] =0 ; } workreq = dev->quereq[c][dev->quhd[c]]; -if (dev->id[c][workreq->device->id].curr_req ==0 ) { - dev->id[c][workreq->device->id].curr_req = workreq; - dev->last_cmd[c] = workreq->device->id; +if (dev->id[c][scmd_id (workreq)].curr_req ==0 ) { + dev->id[c][scmd_id (workreq)].curr_req = workreq; + dev->last_cmd[c] =scmd_id (workreq); goto cmd_subp; } dev->quhd[c] = j;
@@ -786,16 +786,16 @@ abortsnd: oktosend:#ifdef ED_DBGP printk ("OK to Send\n" ); -printk ("CDB" ); +scmd_printk (KERN_DEBUG , workreq,"CDB" );for (i=0 ;i<workreq->cmd_len;i++) {printk (" %x" ,workreq->cmnd[i]); } -printk ("\nChannel = %d ID = %d LUN = %d\n" ,c,workreq->device->id,workreq->device->lun); +printk ("\n" );#endif if (dev->dev_id ==ATP885_DEVID ) { j =inb (dev->baseport +0x29 ) &0xfe ;outb (j, dev->baseport +0x29 ); - dev->r1f[c][workreq->device->id] =0 ; + dev->r1f[c][scmd_id (workreq)] =0 ; }if (workreq->cmnd[0 ] ==READ_CAPACITY ) {
@@ -809,7 +809,7 @@ oktosend: tmport = workport +0x1b ; j =0 ; - target_id = workreq->device->id; + target_id =scmd_id (workreq);/* * Wide ?
@@ -3108,7 +3108,7 @@ static int atp870u_abort(struct scsi_cmn host = SCpnt->device->host; dev = (struct atp_unit *)&host->hostdata; - c=SCpnt->device->channel; + c =scmd_channel (SCpnt);printk (" atp870u: abort Channel = %x \n" , c);printk ("working=%x last_cmd=%x " , dev->working[c], dev->last_cmd[c]);printk (" quhdu=%x quendu=%x " , dev->quhd[c], dev->quend[c]);
drivers/scsi/fd_mcs.c +2 -2
@@ -671,7 +671,7 @@ static irqreturn_t fd_mcs_intr(int irq,outb (0x40 |FIFO_COUNT , Interrupt_Cntl_port);outb (0x82 , SCSI_Cntl_port);/* Bus Enable + Select */ -outb (adapter_mask | (1 << current_SC->device->id), SCSI_Data_NoACK_port); +outb (adapter_mask | (1 <<scmd_id (current_SC)), SCSI_Data_NoACK_port);/* Stop arbitration and enable parity */ outb (0x10 |PARITY_MASK , TMC_Cntl_port);
@@ -683,7 +683,7 @@ static irqreturn_t fd_mcs_intr(int irq, status =inb (SCSI_Status_port);if (!(status &0x01 )) {/* Try again, for slow devices */ -if (fd_mcs_select (shpnt, current_SC->device->id)) { +if (fd_mcs_select (shpnt,scmd_id (current_SC))) {#if EVERY_ACCESS printk (" SFAIL " );#endif
drivers/scsi/fdomain.c +2 -2
@@ -1154,7 +1154,7 @@ static irqreturn_t do_fdomain_16x0_intr(outb (0x40 |FIFO_COUNT , port_base + Interrupt_Cntl);outb (0x82 , port_base + SCSI_Cntl);/* Bus Enable + Select */ -outb (adapter_mask | (1 << current_SC->device->id), port_base + SCSI_Data_NoACK); +outb (adapter_mask | (1 <<scmd_id (current_SC)), port_base + SCSI_Data_NoACK);/* Stop arbitration and enable parity */ outb (0x10 |PARITY_MASK , port_base + TMC_Cntl);
@@ -1166,7 +1166,7 @@ static irqreturn_t do_fdomain_16x0_intr( status =inb (port_base + SCSI_Status);if (!(status &0x01 )) {/* Try again, for slow devices */ -if (fdomain_select ( current_SC->device->id )) { +if (fdomain_select (scmd_id (current_SC) )) {#if EVERY_ACCESS printk (" SFAIL " );#endif
drivers/scsi/imm.c +1 -1
@@ -830,7 +830,7 @@ static int imm_engine(imm_struct *dev, s/* Phase 2 - We are now talking to the scsi bus */ case 2 : -if (!imm_select (dev, cmd->device->id)) { +if (!imm_select (dev,scmd_id (cmd))) {imm_fail (dev,DID_NO_CONNECT );return 0 ; }
drivers/scsi/ips.c +5 -5
@@ -1125,8 +1125,8 @@ ips_queue(Scsi_Cmnd * SC, void (*done) ( SC->device->channel, SC->device->id, SC->device->lun);/* Check for command to initiator IDs */ -if ((SC ->device->channel >0 ) - && (SC ->device->id == ha->ha_id[SC ->device->channel])) { +if ((scmd_channel (SC ) >0 ) + && (scmd_id (SC ) == ha->ha_id[scmd_channel (SC )])) {SC ->result =DID_NO_CONNECT <<16 ;done (SC );
@@ -2830,10 +2830,10 @@ ips_next(ips_ha_t * ha, int intr) p = ha->scb_waitlist.head;while ((p) && (scb =ips_getscb (ha))) { -if ((p->device->channel >0 ) +if ((scmd_channel (p) >0 ) && (ha-> - dcdb_active[p->device->channel - -1 ] & (1 << p->device->id))) { + dcdb_active[scmd_channel (p) - +1 ] & (1 <<scmd_id (p)))) {ips_freescb (ha, scb); p = (Scsi_Cmnd *) p->host_scribble;continue ;
drivers/scsi/ncr53c8xx.c +4 -4
@@ -3669,7 +3669,7 @@ static int ncr_queue_command (struct ncb/* ** select */ - cp->phys.select.sel_id = sdev->id; + cp->phys.select.sel_id =sdev_id (sdev); cp->phys.select.sel_scntl3 = tp->wval; cp->phys.select.sel_sxfer = tp->sval;/*
@@ -4820,7 +4820,7 @@ static void ncr_set_sync_wide_status (st*/ for (cp = np->ccb; cp; cp = cp->link_ccb) {if (!cp->cmd)continue ; -if (cp->cmd->device->id != target)continue ; +if (scmd_id (cp->cmd) != target)continue ;#if 0 cp->sync_status = tp->sval; cp->wide_status = tp->wval;
@@ -4844,7 +4844,7 @@ static void ncr_setsync (struct ncb *np,u_char target =INB (nc_sdid) &0x0f ;u_char idiv; -BUG_ON (target != (cmd->device->id &0xf )); +BUG_ON (target != (scmd_id (cmd) &0xf )); tp = &np->target[target];
@@ -4902,7 +4902,7 @@ static void ncr_setwide (struct ncb *np,u_char scntl3;u_char sxfer; -BUG_ON (target != (cmd->device->id &0xf )); +BUG_ON (target != (scmd_id (cmd) &0xf )); tp = &np->target[target]; tp->widedone = wide+1 ;
drivers/scsi/nsp32.c +4 -4
@@ -481,7 +481,7 @@ static int nsp32_selection_autopara(strunsp32_hw_data *data = (nsp32_hw_data *)SCpnt->device->host->hostdata;unsigned int base = SCpnt->device->host->io_port;unsigned int host_id = SCpnt->device->host->this_id; -unsigned char target = SCpnt->device->id; +unsigned char target =scmd_id (SCpnt);nsp32_autoparam *param = data->autoparam;unsigned char phase;int i, ret;
@@ -612,7 +612,7 @@ static int nsp32_selection_autoscsi(strunsp32_hw_data *data = (nsp32_hw_data *)SCpnt->device->host->hostdata;unsigned int base = SCpnt->device->host->io_port;unsigned int host_id = SCpnt->device->host->this_id; -unsigned char target = SCpnt->device->id; +unsigned char target =scmd_id (SCpnt);unsigned char phase;int status;unsigned short command =0 ;
@@ -973,7 +973,7 @@ static int nsp32_queuecommand(struct scs }/* check target ID is not same as this initiator ID */ -if (SCpnt->device->id == SCpnt->device->host->this_id) { +if (scmd_id (SCpnt) == SCpnt->device->host->this_id) {nsp32_dbg (NSP32_DEBUG_QUEUECOMMAND ,"terget==host???" ); SCpnt->result =DID_BAD_TARGET <<16 ;done (SCpnt);
@@ -1028,7 +1028,7 @@ static int nsp32_queuecommand(struct scs* (target don't have SDTR_DONE and SDTR_INITIATOR), sync * message SDTR is needed to do synchronous transfer. */ - target = &data->target[SCpnt->device->id]; + target = &data->target[scmd_id (SCpnt)]; data->cur_target = target;if (!(target->sync_flag & (SDTR_DONE |SDTR_INITIATOR |SDTR_TARGET ))) {
drivers/scsi/pcmcia/nsp_cs.c +5 -5
@@ -201,7 +201,7 @@ static int nsp_queuecommand(Scsi_Cmnd *S#ifdef NSP_DEBUG /*unsigned int host_id = SCpnt->device->host->this_id;*/ /*unsigned int base = SCpnt->device->host->io_port;*/ -unsigned char target = SCpnt->device->id; +unsigned char target =scmd_id (SCpnt);#endif nsp_hw_data *data = (nsp_hw_data *)SCpnt->device->host->hostdata;
@@ -373,7 +373,7 @@ static int nsphw_start_selection(Scsi_Cm {unsigned int host_id = SCpnt->device->host->this_id;unsigned int base = SCpnt->device->host->io_port; -unsigned char target = SCpnt->device->id; +unsigned char target =scmd_id (SCpnt);nsp_hw_data *data = (nsp_hw_data *)SCpnt->device->host->hostdata;int time_out;unsigned char phase, arbit;
@@ -452,7 +452,7 @@ static struct nsp_sync_table nsp_sync_ta*/ static int nsp_analyze_sdtr (Scsi_Cmnd *SCpnt) { -unsigned char target = SCpnt->device->id; +unsigned char target =scmd_id (SCpnt);// unsigned char lun = SCpnt->device->lun; nsp_hw_data *data = (nsp_hw_data *)SCpnt->device->host->hostdata;sync_data *sync = &(data->Sync[target]);
@@ -677,7 +677,7 @@ static int nsp_reselected(Scsi_Cmnd *SCp target++; } -if (SCpnt->device->id != target) { +if (scmd_id (SCpnt) != target) {nsp_msg (KERN_ERR ,"XXX: reselect ID must be %d in this implementation." , target); }
@@ -912,7 +912,7 @@ static void nsp_pio_write(Scsi_Cmnd *SCpstatic int nsp_nexus (Scsi_Cmnd *SCpnt) {unsigned int base = SCpnt->device->host->io_port; -unsigned char target = SCpnt->device->id; +unsigned char target =scmd_id (SCpnt);// unsigned char lun = SCpnt->device->lun; nsp_hw_data *data = (nsp_hw_data *)SCpnt->device->host->hostdata;sync_data *sync = &(data->Sync[target]);
drivers/scsi/pcmcia/sym53c500_cs.c +1 -1
@@ -610,7 +610,7 @@ SYM53C500_queue(struct scsi_cmnd *SCpnt,/* We are locked here already by the mid layer */ REG0 (port_base); -outb (SCpnt->device->id, port_base +DEST_ID );/* set destination */ +outb (scmd_id (SCpnt), port_base +DEST_ID );/* set destination */ outb (FLUSH_FIFO , port_base +CMD_REG );/* reset the fifos */ for (i =0 ; i < SCpnt->cmd_len; i++) {
drivers/scsi/ppa.c +1 -1
@@ -740,7 +740,7 @@ static int ppa_engine(ppa_struct *dev, s }case 2 :/* Phase 2 - We are now talking to the scsi bus */ -if (!ppa_select (dev, cmd->device->id)) { +if (!ppa_select (dev,scmd_id (cmd))) {ppa_fail (dev,DID_NO_CONNECT );return 0 ; }
drivers/scsi/psi240i.c +1 -1
@@ -659,7 +659,7 @@ static int Psi240i_BiosParam (struct scs {POUR_DEVICE pdev; - pdev = &(HOSTDATA (sdev->host)->device[sdev->id]); + pdev = &(HOSTDATA (sdev->host)->device[sdev_id (sdev)]); geom[0 ] = pdev->heads; geom[1 ] = pdev->sectors;
drivers/scsi/qlogicfas408.c +2 -2
@@ -243,7 +243,7 @@ static void ql_icmd(Scsi_Cmnd * cmd)/**/ outb (qlcfg5, qbase +5 );/* select timer */ outb (qlcfg9 &7 , qbase +9 );/* prescaler */ /* outb(0x99, qbase + 5); */ -outb (cmd->device->id, qbase +4 ); +outb (scmd_id (cmd), qbase +4 );for (i =0 ; i < cmd->cmd_len; i++)outb (cmd->cmnd[i], qbase +2 );
@@ -450,7 +450,7 @@ irqreturn_t qlogicfas408_ihandl(int irq,int qlogicfas408_queuecommand (Scsi_Cmnd * cmd,void (*done) (Scsi_Cmnd *)) {struct qlogicfas408_priv *priv =get_priv_by_cmd (cmd); -if (cmd->device->id == priv->qinitid) { +if (scmd_id (cmd) == priv->qinitid) { cmd->result =DID_BAD_TARGET <<16 ;done (cmd);return 0 ;
drivers/scsi/scsi_debug.c +1 -1
@@ -283,7 +283,7 @@ int scsi_debug_queuecommand(struct scsi_unsigned char *cmd = (unsigned char *) SCpnt->cmnd;int block, upper_blk, num, k;int errsts =0 ; -int target = SCpnt->device->id; +int target =scmd_id (SCpnt);struct sdebug_dev_info * devip =NULL ;int inj_recovered =0 ;
drivers/scsi/scsi_error.c +9 -7
@@ -1033,7 +1033,8 @@ static int scsi_try_bus_reset(struct scsif (!scmd->device->host->hostt->skip_settle_delay)ssleep (BUS_RESET_SETTLE_TIME );spin_lock_irqsave (scmd->device->host->host_lock, flags); -scsi_report_bus_reset (scmd->device->host, scmd->device->channel); +scsi_report_bus_reset (scmd->device->host, +scmd_channel (scmd));spin_unlock_irqrestore (scmd->device->host->host_lock, flags); }
@@ -1061,7 +1062,8 @@ static int scsi_try_host_reset(struct scif (!scmd->device->host->hostt->skip_settle_delay)ssleep (HOST_RESET_SETTLE_TIME );spin_lock_irqsave (scmd->device->host->host_lock, flags); -scsi_report_bus_reset (scmd->device->host, scmd->device->channel); +scsi_report_bus_reset (scmd->device->host, +scmd_channel (scmd));spin_unlock_irqrestore (scmd->device->host->host_lock, flags); }
@@ -1091,7 +1093,7 @@ static int scsi_eh_bus_reset(struct Scsifor (channel =0 ; channel <= shost->max_channel; channel++) { chan_scmd =NULL ;list_for_each_entry (scmd, work_q, eh_entry) { -if (channel == scmd->device->channel) { +if (channel ==scmd_channel (scmd)) { chan_scmd = scmd;break ;/*
@@ -1109,7 +1111,7 @@ static int scsi_eh_bus_reset(struct Scsi rtn =scsi_try_bus_reset (chan_scmd);if (rtn ==SUCCESS ) {list_for_each_entry_safe (scmd, next, work_q, eh_entry) { -if (channel == scmd->device->channel) +if (channel ==scmd_channel (scmd))if (!scsi_device_online (scmd->device) || !scsi_eh_tur (scmd)) scsi_eh_finish_cmd(scmd,
@@ -1674,7 +1676,7 @@ void scsi_report_bus_reset(struct Scsi_Hstruct scsi_device *sdev;__shost_for_each_device (sdev, shost) { -if (channel == sdev->channel) { +if (channel ==sdev_channel (sdev)) { sdev->was_reset =1 ; sdev->expecting_cc_ua =1 ; }
@@ -1709,8 +1711,8 @@ void scsi_report_device_reset(struct Scsstruct scsi_device *sdev;__shost_for_each_device (sdev, shost) { -if (channel == sdev->channel && - target == sdev->id) { +if (channel ==sdev_channel (sdev) && + target ==sdev_id (sdev)) { sdev->was_reset =1 ; sdev->expecting_cc_ua =1 ; }
drivers/scsi/sym53c416.c +1 -1
@@ -773,7 +773,7 @@ int sym53c416_queuecommand(Scsi_Cmnd *SC current_command->SCp.Message =0 ;spin_lock_irqsave (&sym53c416_lock, flags); -outb (SCpnt->device->id, base +DEST_BUS_ID );/* Set scsi id target */ +outb (scmd_id (SCpnt), base +DEST_BUS_ID );/* Set scsi id target */ outb (FLUSH_FIFO , base +COMMAND_REG );/* Flush SCSI and PIO FIFO's */ /* Write SCSI command into the SCSI fifo */ for (i =0 ; i < SCpnt->cmd_len; i++)
drivers/scsi/u14-34f.c +7 -8
@@ -1822,7 +1822,7 @@ static irqreturn_t ihdlr(int irq, unsign/* If there was a bus reset, redo operation on each target */ else if (tstatus != GOOD && SCpnt->device->type == TYPE_DISK - && HD(j)->target_redo[SCpnt->device->id][SCpnt->device->channel]) + && HD(j)->target_redo[scmd_id(SCpnt)][scmd_channel(SCpnt)]) status =DID_BUS_BUSY <<16 ;/* Works around a flaw in scsi.c */
@@ -1835,29 +1835,28 @@ static irqreturn_t ihdlr(int irq, unsign status =DID_OK <<16 ;if (tstatus ==GOOD ) -HD (j)->target_redo[SCpnt->device->id][SCpnt->device->channel] = FALSE; +HD (j)->target_redo[scmd_id (SCpnt)][scmd_channel (SCpnt)] = FALSE;if (spp->target_status && SCpnt->device->type ==TYPE_DISK && (!(tstatus ==CHECK_CONDITION &&HD (j)->iocount <=1000 && (SCpnt->sense_buffer[2 ] &0xf ) ==NOT_READY ))) -printk ("%s: ihdlr, target %d.%d:%d, pid %ld, " \ -"target_status 0x%x, sense key 0x%x.\n" ,BN (j), - SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, +scmd_printk (KERN_INFO , SCpnt, +"ihdlr, pid %ld, target_status 0x%x, sense key 0x%x.\n" , SCpnt->pid, spp->target_status, SCpnt->sense_buffer[2 ]); -HD (j)->target_to[SCpnt->device->id][SCpnt->device->channel] =0 ; +HD (j)->target_to[scmd_id (SCpnt)][scmd_channel (SCpnt)] =0 ;if (HD (j)->last_retried_pid == SCpnt->pid)HD (j)->retries =0 ;break ;case ASST :/* Selection Time Out */ -if (HD (j)->target_to[SCpnt->device->id][SCpnt->device->channel] >1 ) +if (HD (j)->target_to[scmd_id (SCpnt)][scmd_channel (SCpnt)] >1 ) status =DID_ERROR <<16 ;else { status =DID_TIME_OUT <<16 ; -HD (j)->target_to[SCpnt->device->id][SCpnt->device->channel]++; +HD (j)->target_to[scmd_id (SCpnt)][scmd_channel (SCpnt)]++; }break ;
[scsi hcil 10/9] ibmmca bug fix
In reply to Jeff GarzikAs one would expect, this lives in scsilun-2.6#submit10 branch.
commit bde81cf4dbc63b9fdf38ec30405dbd70bfba23b5
Author: Jeff Garzik <[email protected]> Date: Mon Oct 24 18:26:11 2005 -0400
[SCSI] revert ibmmca change that snuck in
Work from another branch snuck into this one. Revert.
drivers/scsi/ibmmca.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
bde81cf4dbc63b9fdf38ec30405dbd70bfba23b5
drivers/scsi/ibmmca.c +2 -3
@@ -673,9 +673,8 @@ static irqreturn_t interrupt_handler(intld (ihost_index)[ldn].cmd =NULL ;#ifdef IM_DEBUG_TIMEOUT if (cmd) { -if ((cmd->target ==TIMEOUT_PUN ) && (scsilun_to_int (&cmd->device->lun) ==TIMEOUT_LUN )) { -scmd_printk (KERN_INFO , cmd, -"IBM MCA SCSI: Ignoring interrupt\n" ); +if ((cmd->target ==TIMEOUT_PUN ) && (cmd->device->lun ==TIMEOUT_LUN )) { +printk ("IBM MCA SCSI: Ignoring interrupt from pun=%x, lun=%x.\n" , cmd->target, cmd->device->lun);return IRQ_HANDLED ; } }