Annotation of /trunk/kernel26-alx/patches-2.6.29-r1/0310-2.6.29-fix-scsi-issues.patch
Parent Directory | Revision Log
Revision 877 -
(hide annotations)
(download)
Wed Aug 5 14:10:30 2009 UTC (15 years, 1 month ago) by niro
File size: 3346 byte(s)
Wed Aug 5 14:10:30 2009 UTC (15 years, 1 month ago) by niro
File size: 3346 byte(s)
-fixed patch to work with 2.6.29.6
1 | niro | 877 | diff -Naur linux-2.6.29/drivers/scsi/scsi_lib.c linux-2.6.29-alx/drivers/scsi/scsi_lib.c |
2 | --- linux-2.6.29/drivers/scsi/scsi_lib.c 2009-03-24 00:12:14.000000000 +0100 | ||
3 | +++ linux-2.6.29-alx/drivers/scsi/scsi_lib.c 2009-08-05 16:03:06.000000000 +0200 | ||
4 | @@ -1411,6 +1411,7 @@ | ||
5 | ret = scsi_setup_blk_pc_cmnd(sdev, req); | ||
6 | return scsi_prep_return(q, req, ret); | ||
7 | niro | 876 | } |
8 | +EXPORT_SYMBOL(scsi_prep_fn); | ||
9 | niro | 877 | |
10 | niro | 876 | /* |
11 | * scsi_dev_queue_ready: if we can send requests to sdev, return 1 else | ||
12 | niro | 877 | diff -Naur linux-2.6.29/drivers/scsi/scsi_priv.h linux-2.6.29-alx/drivers/scsi/scsi_priv.h |
13 | --- linux-2.6.29/drivers/scsi/scsi_priv.h 2009-03-24 00:12:14.000000000 +0100 | ||
14 | +++ linux-2.6.29-alx/drivers/scsi/scsi_priv.h 2009-08-05 16:03:58.000000000 +0200 | ||
15 | @@ -74,7 +74,6 @@ | ||
16 | niro | 876 | extern void scsi_exit_queue(void); |
17 | struct request_queue; | ||
18 | struct request; | ||
19 | -extern int scsi_prep_fn(struct request_queue *, struct request *); | ||
20 | niro | 877 | extern struct kmem_cache *scsi_sdb_cache; |
21 | |||
22 | niro | 876 | /* scsi_proc.c */ |
23 | niro | 877 | diff -Naur linux-2.6.29/drivers/scsi/scsi_sysfs.c linux-2.6.29-alx/drivers/scsi/scsi_sysfs.c |
24 | --- linux-2.6.29/drivers/scsi/scsi_sysfs.c 2009-03-24 00:12:14.000000000 +0100 | ||
25 | +++ linux-2.6.29-alx/drivers/scsi/scsi_sysfs.c 2009-08-05 16:04:41.000000000 +0200 | ||
26 | @@ -420,29 +420,12 @@ | ||
27 | return err; | ||
28 | niro | 876 | } |
29 | niro | 877 | |
30 | niro | 876 | -static int scsi_bus_remove(struct device *dev) |
31 | -{ | ||
32 | niro | 877 | - struct device_driver *drv = dev->driver; |
33 | - struct scsi_device *sdev = to_scsi_device(dev); | ||
34 | - int err = 0; | ||
35 | niro | 876 | - |
36 | niro | 877 | - /* reset the prep_fn back to the default since the |
37 | - * driver may have altered it and it's being removed */ | ||
38 | - blk_queue_prep_rq(sdev->request_queue, scsi_prep_fn); | ||
39 | niro | 876 | - |
40 | niro | 877 | - if (drv && drv->remove) |
41 | - err = drv->remove(dev); | ||
42 | niro | 876 | - |
43 | niro | 877 | - return 0; |
44 | niro | 876 | -} |
45 | - | ||
46 | struct bus_type scsi_bus_type = { | ||
47 | niro | 877 | .name = "scsi", |
48 | .match = scsi_bus_match, | ||
49 | .uevent = scsi_bus_uevent, | ||
50 | .suspend = scsi_bus_suspend, | ||
51 | .resume = scsi_bus_resume, | ||
52 | - .remove = scsi_bus_remove, | ||
53 | niro | 876 | }; |
54 | niro | 877 | EXPORT_SYMBOL_GPL(scsi_bus_type); |
55 | |||
56 | diff -Naur linux-2.6.29/drivers/scsi/sd.c linux-2.6.29-alx/drivers/scsi/sd.c | ||
57 | --- linux-2.6.29/drivers/scsi/sd.c 2009-03-24 00:12:14.000000000 +0100 | ||
58 | +++ linux-2.6.29-alx/drivers/scsi/sd.c 2009-08-05 16:05:26.000000000 +0200 | ||
59 | @@ -1961,6 +1961,8 @@ | ||
60 | niro | 876 | { |
61 | niro | 877 | struct scsi_disk *sdkp = dev_get_drvdata(dev); |
62 | |||
63 | + blk_queue_prep_rq(sdkp->device->request_queue, scsi_prep_fn); | ||
64 | niro | 876 | + |
65 | niro | 877 | device_del(&sdkp->dev); |
66 | del_gendisk(sdkp->disk); | ||
67 | sd_shutdown(dev); | ||
68 | diff -Naur linux-2.6.29/drivers/scsi/sr.c linux-2.6.29-alx/drivers/scsi/sr.c | ||
69 | --- linux-2.6.29/drivers/scsi/sr.c 2009-03-24 00:12:14.000000000 +0100 | ||
70 | +++ linux-2.6.29-alx/drivers/scsi/sr.c 2009-08-05 16:06:09.000000000 +0200 | ||
71 | @@ -889,6 +889,7 @@ | ||
72 | niro | 876 | { |
73 | niro | 877 | struct scsi_cd *cd = dev_get_drvdata(dev); |
74 | |||
75 | + blk_queue_prep_rq(cd->device->request_queue, scsi_prep_fn); | ||
76 | del_gendisk(cd->disk); | ||
77 | |||
78 | mutex_lock(&sr_ref_mutex); | ||
79 | diff -Naur linux-2.6.29/include/scsi/scsi_driver.h linux-2.6.29-alx/include/scsi/scsi_driver.h | ||
80 | --- linux-2.6.29/include/scsi/scsi_driver.h 2009-03-24 00:12:14.000000000 +0100 | ||
81 | +++ linux-2.6.29-alx/include/scsi/scsi_driver.h 2009-08-05 16:06:52.000000000 +0200 | ||
82 | @@ -32,5 +32,6 @@ | ||
83 | niro | 876 | int scsi_setup_fs_cmnd(struct scsi_device *sdev, struct request *req); |
84 | int scsi_prep_state_check(struct scsi_device *sdev, struct request *req); | ||
85 | int scsi_prep_return(struct request_queue *q, struct request *req, int ret); | ||
86 | +int scsi_prep_fn(struct request_queue *, struct request *); | ||
87 | niro | 877 | |
88 | niro | 876 | #endif /* _SCSI_SCSI_DRIVER_H */ |