]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/scsi/zfcp_scsi.c
rtc-cmos: look for PNP RTC first, then for platform RTC
[linux-2.6-omap-h63xx.git] / drivers / s390 / scsi / zfcp_scsi.c
index aeae56b00b4590e786935ff41bd4352c59b69871..ca8f85f3dad439f515e25b8e5b049a0edd3701ee 100644 (file)
@@ -21,20 +21,6 @@ char *zfcp_get_fcp_sns_info_ptr(struct fcp_rsp_iu *fcp_rsp_iu)
        return fcp_sns_info_ptr;
 }
 
-void zfcp_set_fcp_dl(struct fcp_cmnd_iu *fcp_cmd, fcp_dl_t fcp_dl)
-{
-       fcp_dl_t *fcp_dl_ptr;
-
-       /*
-        * fcp_dl_addr = start address of fcp_cmnd structure +
-        * size of fixed part + size of dynamically sized add_dcp_cdb field
-        * SEE FCP-2 documentation
-        */
-       fcp_dl_ptr = (fcp_dl_t *) ((unsigned char *) &fcp_cmd[1] +
-                                  (fcp_cmd->add_fcp_cdb_length << 2));
-       *fcp_dl_ptr = fcp_dl;
-}
-
 static void zfcp_scsi_slave_destroy(struct scsi_device *sdpnt)
 {
        struct zfcp_unit *unit = (struct zfcp_unit *) sdpnt->hostdata;
@@ -119,13 +105,17 @@ static struct zfcp_unit *zfcp_unit_lookup(struct zfcp_adapter *adapter,
 {
        struct zfcp_port *port;
        struct zfcp_unit *unit;
+       int scsi_lun;
 
        list_for_each_entry(port, &adapter->port_list_head, list) {
                if (!port->rport || (id != port->rport->scsi_target_id))
                        continue;
-               list_for_each_entry(unit, &port->unit_list_head, list)
-                       if (lun == unit->scsi_lun)
+               list_for_each_entry(unit, &port->unit_list_head, list) {
+                       scsi_lun = scsilun_to_int(
+                               (struct scsi_lun *)&unit->fcp_lun);
+                       if (lun == scsi_lun)
                                return unit;
+               }
        }
 
        return NULL;
@@ -183,7 +173,6 @@ static int zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt)
                return retval;
        }
        fsf_req->data = NULL;
-       fsf_req->status |= ZFCP_STATUS_FSFREQ_ABORTING;
 
        /* don't access old fsf_req after releasing the abort_lock */
        write_unlock_irqrestore(&adapter->abort_lock, flags);
@@ -294,7 +283,8 @@ int zfcp_adapter_scsi_register(struct zfcp_adapter *adapter)
                                             sizeof (struct zfcp_adapter *));
        if (!adapter->scsi_host) {
                dev_err(&adapter->ccw_device->dev,
-                       "registration with SCSI stack failed.");
+                       "Registering the FCP device with the "
+                       "SCSI stack failed\n");
                return -EIO;
        }
 
@@ -312,7 +302,6 @@ int zfcp_adapter_scsi_register(struct zfcp_adapter *adapter)
                scsi_host_put(adapter->scsi_host);
                return -EIO;
        }
-       atomic_set_mask(ZFCP_STATUS_ADAPTER_REGISTERED, &adapter->status);
 
        return 0;
 }
@@ -336,7 +325,6 @@ void zfcp_adapter_scsi_unregister(struct zfcp_adapter *adapter)
        scsi_remove_host(shost);
        scsi_host_put(shost);
        adapter->scsi_host = NULL;
-       atomic_clear_mask(ZFCP_STATUS_ADAPTER_REGISTERED, &adapter->status);
 
        return;
 }