summaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-06-22 23:05:57 +0000
committerRalf Baechle <ralf@linux-mips.org>1999-06-22 23:05:57 +0000
commit51d3b7814cdccef9188240fe0cbd8d97ff2c7470 (patch)
tree5cbb01d0323d4f63ade66bdf48ba4a91aaa6df16 /drivers/scsi
parent52273a23c9a84336b93a35e4847fc88fac7eb0e4 (diff)
Merge with Linux 2.3.7.
WARNING: 2.3.7 is known to eat filesystems for breakfast and little children for lunch, so if you try this on your machine make backups first ...
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/in2000.h4
-rw-r--r--drivers/scsi/scsi_error.c15
2 files changed, 11 insertions, 8 deletions
diff --git a/drivers/scsi/in2000.h b/drivers/scsi/in2000.h
index 2a6ad2949..6388b2e8e 100644
--- a/drivers/scsi/in2000.h
+++ b/drivers/scsi/in2000.h
@@ -67,7 +67,7 @@
orl %%ecx, %%ecx \n \
jz 1f \n \
rep \n \
- insw %%dx \n \
+ insw (%%dx),%%es:(%%edi) \n \
1: " \
: "=D" (sp) /* output */ \
: "d" (f), "D" (sp), "c" (i) /* input */ \
@@ -79,7 +79,7 @@
orl %%ecx, %%ecx \n \
jz 1f \n \
rep \n \
- outsw %%dx \n \
+ outsw %%ds:(%%esi),(%%dx) \n \
1: " \
: "=S" (sp) /* output */ \
: "d" (f), "S" (sp), "c" (i) /* input */ \
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index 9bb08ce58..d71509548 100644
--- a/drivers/scsi/scsi_error.c
+++ b/drivers/scsi/scsi_error.c
@@ -1926,6 +1926,7 @@ scsi_error_handler(void * data)
int rtn;
DECLARE_MUTEX_LOCKED(sem);
unsigned long flags;
+ struct fs_struct *fs;
lock_kernel();
@@ -1936,16 +1937,18 @@ scsi_error_handler(void * data)
*/
exit_mm(current);
-
current->session = 1;
current->pgrp = 1;
- /*
- * FIXME(eric) this is still a child process of the one that did the insmod.
- * This needs to be attached to task[0] instead.
- */
+
+ /* Become as one with the init task */
+
+ exit_fs(current); /* current->fs->count--; */
+ fs = init_task.fs;
+ current->fs = fs;
+ atomic_inc(&fs->count);
siginitsetinv(&current->blocked, SHUTDOWN_SIGS);
- current->fs->umask = 0;
+
/*
* Set the name of this process.