Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / drivers / scsi / esp.c
index d8ab73b..87a8c3d 100644 (file)
@@ -49,6 +49,8 @@
 #include <scsi/scsi_host.h>
 #include <scsi/scsi_tcq.h>
 
+#define DRV_VERSION "1.101"
+
 #define DEBUG_ESP
 /* #define DEBUG_ESP_HME */
 /* #define DEBUG_ESP_DATA */
@@ -1145,7 +1147,7 @@ static int __init esp_detect(struct scsi_host_template *tpnt)
        static struct sbus_dev esp_dev;
        int esps_in_use = 0;
 
-       espchain = 0;
+       espchain = NULL;
 
        if (sun4_esp_physaddr) {
                memset (&esp_dev, 0, sizeof(esp_dev));
@@ -2066,14 +2068,12 @@ static int esp_reset(struct scsi_cmnd *SCptr)
 {
        struct esp *esp = (struct esp *) SCptr->device->host->hostdata;
 
+       spin_lock_irq(esp->ehost->host_lock);
        (void) esp_do_resetbus(esp);
-
        spin_unlock_irq(esp->ehost->host_lock);
 
        wait_event(esp->reset_queue, (esp->resetting_bus == 0));
 
-       spin_lock_irq(esp->ehost->host_lock);
-
        return SUCCESS;
 }
 
@@ -2511,7 +2511,7 @@ static inline void esp_reconnect(struct esp *esp, struct scsi_cmnd *sp)
                ESPLOG(("esp%d: Weird, being reselected but disconnected "
                        "command queue is empty.\n", esp->esp_id));
        esp->snip = 0;
-       esp->current_SC = 0;
+       esp->current_SC = NULL;
        sp->SCp.phase = not_issued;
        append_SC(&esp->issue_SC, sp);
 }
@@ -4146,7 +4146,7 @@ static int esp_work_bus(struct esp *esp)
 }
 
 static espfunc_t isvc_vector[] = {
-       0,
+       NULL,
        esp_do_phase_determine,
        esp_do_resetbus,
        esp_finish_reset,
@@ -4398,5 +4398,8 @@ static struct scsi_host_template driver_template = {
 
 #include "scsi_module.c"
 
+MODULE_DESCRIPTION("EnhancedScsiProcessor Sun SCSI driver");
+MODULE_AUTHOR("David S. Miller (davem@redhat.com)");
 MODULE_LICENSE("GPL");
+MODULE_VERSION(DRV_VERSION);