HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/share/doc/scsitools/kernel-source-2.2.14.espfix
diff -ur kernel-source-2.2.14.orig/drivers/scsi/esp.c kernel-source-2.2.14/drivers/scsi/esp.c
--- kernel-source-2.2.14.orig/drivers/scsi/esp.c	Tue Jan  4 19:12:20 2000
+++ kernel-source-2.2.14/drivers/scsi/esp.c	Sat Mar 25 13:46:04 2000
@@ -4313,3 +4313,11 @@
 	spin_unlock_irqrestore(&io_request_lock, flags);
 }
 #endif
+
+int esp_revoke(Scsi_Device* SDptr)
+{
+	struct Sparc_ESP *esp = (struct Sparc_ESP *) SDptr->host->hostdata;
+	esp->targets_present &= ~(1 << SDptr->id);
+	return 0;
+}
+
diff -ur kernel-source-2.2.14.orig/drivers/scsi/esp.h kernel-source-2.2.14/drivers/scsi/esp.h
--- kernel-source-2.2.14.orig/drivers/scsi/esp.h	Sun Mar 28 20:04:13 1999
+++ kernel-source-2.2.14/drivers/scsi/esp.h	Sat Mar 25 01:27:17 2000
@@ -413,6 +413,7 @@
 extern int esp_reset(Scsi_Cmnd *, unsigned int);
 extern int esp_proc_info(char *buffer, char **start, off_t offset, int length,
 			 int hostno, int inout);
+extern int esp_revoke(Scsi_Device* SDptr);
 
 extern struct proc_dir_entry proc_scsi_esp;
 
@@ -421,6 +422,7 @@
 		proc_info:      &esp_proc_info,			\
 		name:           "Sun ESP 100/100a/200",		\
 		detect:         esp_detect,			\
+		revoke:		esp_revoke,			\
 		info:           esp_info,			\
 		command:        esp_command,			\
 		queuecommand:   esp_queue,			\
diff -ur kernel-source-2.2.14.orig/drivers/scsi/hosts.h kernel-source-2.2.14/drivers/scsi/hosts.h
--- kernel-source-2.2.14.orig/drivers/scsi/hosts.h	Sun Mar 28 20:04:03 1999
+++ kernel-source-2.2.14/drivers/scsi/hosts.h	Sat Mar 25 01:32:37 2000
@@ -95,6 +95,7 @@
      * especially that scsi_malloc/scsi_free must not be called.
      */
     int (* detect)(struct SHT *);
+    int (*revoke)(Scsi_Device *);
 
     /* Used with loadable modules to unload the host structures.  Note:
      * there is a default action built into the modules code which may
diff -ur kernel-source-2.2.14.orig/drivers/scsi/scsi.c kernel-source-2.2.14/drivers/scsi/scsi.c
--- kernel-source-2.2.14.orig/drivers/scsi/scsi.c	Tue Jan  4 19:12:21 2000
+++ kernel-source-2.2.14/drivers/scsi/scsi.c	Sat Mar 25 01:25:47 2000
@@ -2492,6 +2492,8 @@
              * Nobody is using this device any more.
              * Free all of the command structures.
              */
+	    if (HBA_ptr->hostt->revoke)
+		    HBA_ptr->hostt->revoke(scd);
             for(SCpnt=scd->device_queue; SCpnt; SCpnt = scd->device_queue)
             {
                 scd->device_queue = SCpnt->next;