Magellan Linux

Annotation of /trunk/kernel26-alx/patches-2.6.29-r1/0310-2.6.29-fix-scsi-issues.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 877 - (hide annotations) (download)
Wed Aug 5 14:10:30 2009 UTC (14 years, 10 months 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 */