diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2009-03-28 16:29:51 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-03-28 16:29:51 -0400 |
commit | ed40d0c472b136682b2fcba05f89762859c7374f (patch) | |
tree | 076b83a26bcd63d6158463735dd34c10bbc591dc /drivers/scsi | |
parent | 9e495834e59ca9b29f1a1f63b9f5533bb022ac49 (diff) | |
parent | 5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a (diff) |
Merge branch 'origin' into devel
Conflicts:
sound/soc/pxa/pxa2xx-i2s.c
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/a4000t.c | 29 | ||||
-rw-r--r-- | drivers/scsi/atari_NCR5380.c | 2 | ||||
-rw-r--r-- | drivers/scsi/atari_scsi.c | 2 | ||||
-rw-r--r-- | drivers/scsi/bvme6000_scsi.c | 29 | ||||
-rw-r--r-- | drivers/scsi/mvme16x_scsi.c | 29 | ||||
-rw-r--r-- | drivers/scsi/scsi_transport_fc.c | 16 | ||||
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 12 | ||||
-rw-r--r-- | drivers/scsi/sg.c | 4 |
8 files changed, 57 insertions, 66 deletions
diff --git a/drivers/scsi/a4000t.c b/drivers/scsi/a4000t.c index d4bda2017746..61af3d91ac8a 100644 --- a/drivers/scsi/a4000t.c +++ b/drivers/scsi/a4000t.c | |||
@@ -35,7 +35,7 @@ static struct platform_device *a4000t_scsi_device; | |||
35 | 35 | ||
36 | #define A4000T_SCSI_ADDR 0xdd0040 | 36 | #define A4000T_SCSI_ADDR 0xdd0040 |
37 | 37 | ||
38 | static int __devinit a4000t_probe(struct device *dev) | 38 | static int __devinit a4000t_probe(struct platform_device *dev) |
39 | { | 39 | { |
40 | struct Scsi_Host *host; | 40 | struct Scsi_Host *host; |
41 | struct NCR_700_Host_Parameters *hostdata; | 41 | struct NCR_700_Host_Parameters *hostdata; |
@@ -61,7 +61,8 @@ static int __devinit a4000t_probe(struct device *dev) | |||
61 | hostdata->dcntl_extra = EA_710; | 61 | hostdata->dcntl_extra = EA_710; |
62 | 62 | ||
63 | /* and register the chip */ | 63 | /* and register the chip */ |
64 | host = NCR_700_detect(&a4000t_scsi_driver_template, hostdata, dev); | 64 | host = NCR_700_detect(&a4000t_scsi_driver_template, hostdata, |
65 | &dev->dev); | ||
65 | if (!host) { | 66 | if (!host) { |
66 | printk(KERN_ERR "a4000t-scsi: No host detected; " | 67 | printk(KERN_ERR "a4000t-scsi: No host detected; " |
67 | "board configuration problem?\n"); | 68 | "board configuration problem?\n"); |
@@ -78,7 +79,7 @@ static int __devinit a4000t_probe(struct device *dev) | |||
78 | goto out_put_host; | 79 | goto out_put_host; |
79 | } | 80 | } |
80 | 81 | ||
81 | dev_set_drvdata(dev, host); | 82 | platform_set_drvdata(dev, host); |
82 | scsi_scan_host(host); | 83 | scsi_scan_host(host); |
83 | 84 | ||
84 | return 0; | 85 | return 0; |
@@ -93,9 +94,9 @@ static int __devinit a4000t_probe(struct device *dev) | |||
93 | return -ENODEV; | 94 | return -ENODEV; |
94 | } | 95 | } |
95 | 96 | ||
96 | static __devexit int a4000t_device_remove(struct device *dev) | 97 | static __devexit int a4000t_device_remove(struct platform_device *dev) |
97 | { | 98 | { |
98 | struct Scsi_Host *host = dev_get_drvdata(dev); | 99 | struct Scsi_Host *host = platform_get_drvdata(dev); |
99 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); | 100 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); |
100 | 101 | ||
101 | scsi_remove_host(host); | 102 | scsi_remove_host(host); |
@@ -108,25 +109,27 @@ static __devexit int a4000t_device_remove(struct device *dev) | |||
108 | return 0; | 109 | return 0; |
109 | } | 110 | } |
110 | 111 | ||
111 | static struct device_driver a4000t_scsi_driver = { | 112 | static struct platform_driver a4000t_scsi_driver = { |
112 | .name = "a4000t-scsi", | 113 | .driver = { |
113 | .bus = &platform_bus_type, | 114 | .name = "a4000t-scsi", |
114 | .probe = a4000t_probe, | 115 | .owner = THIS_MODULE, |
115 | .remove = __devexit_p(a4000t_device_remove), | 116 | }, |
117 | .probe = a4000t_probe, | ||
118 | .remove = __devexit_p(a4000t_device_remove), | ||
116 | }; | 119 | }; |
117 | 120 | ||
118 | static int __init a4000t_scsi_init(void) | 121 | static int __init a4000t_scsi_init(void) |
119 | { | 122 | { |
120 | int err; | 123 | int err; |
121 | 124 | ||
122 | err = driver_register(&a4000t_scsi_driver); | 125 | err = platform_driver_register(&a4000t_scsi_driver); |
123 | if (err) | 126 | if (err) |
124 | return err; | 127 | return err; |
125 | 128 | ||
126 | a4000t_scsi_device = platform_device_register_simple("a4000t-scsi", | 129 | a4000t_scsi_device = platform_device_register_simple("a4000t-scsi", |
127 | -1, NULL, 0); | 130 | -1, NULL, 0); |
128 | if (IS_ERR(a4000t_scsi_device)) { | 131 | if (IS_ERR(a4000t_scsi_device)) { |
129 | driver_unregister(&a4000t_scsi_driver); | 132 | platform_driver_register(&a4000t_scsi_driver); |
130 | return PTR_ERR(a4000t_scsi_device); | 133 | return PTR_ERR(a4000t_scsi_device); |
131 | } | 134 | } |
132 | 135 | ||
@@ -136,7 +139,7 @@ static int __init a4000t_scsi_init(void) | |||
136 | static void __exit a4000t_scsi_exit(void) | 139 | static void __exit a4000t_scsi_exit(void) |
137 | { | 140 | { |
138 | platform_device_unregister(a4000t_scsi_device); | 141 | platform_device_unregister(a4000t_scsi_device); |
139 | driver_unregister(&a4000t_scsi_driver); | 142 | platform_driver_unregister(&a4000t_scsi_driver); |
140 | } | 143 | } |
141 | 144 | ||
142 | module_init(a4000t_scsi_init); | 145 | module_init(a4000t_scsi_init); |
diff --git a/drivers/scsi/atari_NCR5380.c b/drivers/scsi/atari_NCR5380.c index 93b61f148653..0471f8800483 100644 --- a/drivers/scsi/atari_NCR5380.c +++ b/drivers/scsi/atari_NCR5380.c | |||
@@ -844,7 +844,7 @@ static char *lprint_Scsi_Cmnd(Scsi_Cmnd *cmd, char *pos, char *buffer, int lengt | |||
844 | * | 844 | * |
845 | */ | 845 | */ |
846 | 846 | ||
847 | static int NCR5380_init(struct Scsi_Host *instance, int flags) | 847 | static int __init NCR5380_init(struct Scsi_Host *instance, int flags) |
848 | { | 848 | { |
849 | int i; | 849 | int i; |
850 | SETUP_HOSTDATA(instance); | 850 | SETUP_HOSTDATA(instance); |
diff --git a/drivers/scsi/atari_scsi.c b/drivers/scsi/atari_scsi.c index 21fe07f9df87..ad7a23aef0ec 100644 --- a/drivers/scsi/atari_scsi.c +++ b/drivers/scsi/atari_scsi.c | |||
@@ -589,7 +589,7 @@ int atari_queue_command(Scsi_Cmnd *cmd, void (*done)(Scsi_Cmnd *)) | |||
589 | #endif | 589 | #endif |
590 | 590 | ||
591 | 591 | ||
592 | int atari_scsi_detect(struct scsi_host_template *host) | 592 | int __init atari_scsi_detect(struct scsi_host_template *host) |
593 | { | 593 | { |
594 | static int called = 0; | 594 | static int called = 0; |
595 | struct Scsi_Host *instance; | 595 | struct Scsi_Host *instance; |
diff --git a/drivers/scsi/bvme6000_scsi.c b/drivers/scsi/bvme6000_scsi.c index d858f3d41274..5799cb5cba6b 100644 --- a/drivers/scsi/bvme6000_scsi.c +++ b/drivers/scsi/bvme6000_scsi.c | |||
@@ -34,7 +34,7 @@ static struct scsi_host_template bvme6000_scsi_driver_template = { | |||
34 | static struct platform_device *bvme6000_scsi_device; | 34 | static struct platform_device *bvme6000_scsi_device; |
35 | 35 | ||
36 | static __devinit int | 36 | static __devinit int |
37 | bvme6000_probe(struct device *dev) | 37 | bvme6000_probe(struct platform_device *dev) |
38 | { | 38 | { |
39 | struct Scsi_Host *host; | 39 | struct Scsi_Host *host; |
40 | struct NCR_700_Host_Parameters *hostdata; | 40 | struct NCR_700_Host_Parameters *hostdata; |
@@ -58,7 +58,8 @@ bvme6000_probe(struct device *dev) | |||
58 | hostdata->ctest7_extra = CTEST7_TT1; | 58 | hostdata->ctest7_extra = CTEST7_TT1; |
59 | 59 | ||
60 | /* and register the chip */ | 60 | /* and register the chip */ |
61 | host = NCR_700_detect(&bvme6000_scsi_driver_template, hostdata, dev); | 61 | host = NCR_700_detect(&bvme6000_scsi_driver_template, hostdata, |
62 | &dev->dev); | ||
62 | if (!host) { | 63 | if (!host) { |
63 | printk(KERN_ERR "bvme6000-scsi: No host detected; " | 64 | printk(KERN_ERR "bvme6000-scsi: No host detected; " |
64 | "board configuration problem?\n"); | 65 | "board configuration problem?\n"); |
@@ -73,7 +74,7 @@ bvme6000_probe(struct device *dev) | |||
73 | goto out_put_host; | 74 | goto out_put_host; |
74 | } | 75 | } |
75 | 76 | ||
76 | dev_set_drvdata(dev, host); | 77 | platform_set_drvdata(dev, host); |
77 | scsi_scan_host(host); | 78 | scsi_scan_host(host); |
78 | 79 | ||
79 | return 0; | 80 | return 0; |
@@ -87,9 +88,9 @@ bvme6000_probe(struct device *dev) | |||
87 | } | 88 | } |
88 | 89 | ||
89 | static __devexit int | 90 | static __devexit int |
90 | bvme6000_device_remove(struct device *dev) | 91 | bvme6000_device_remove(struct platform_device *dev) |
91 | { | 92 | { |
92 | struct Scsi_Host *host = dev_get_drvdata(dev); | 93 | struct Scsi_Host *host = platform_get_drvdata(dev); |
93 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); | 94 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); |
94 | 95 | ||
95 | scsi_remove_host(host); | 96 | scsi_remove_host(host); |
@@ -100,25 +101,27 @@ bvme6000_device_remove(struct device *dev) | |||
100 | return 0; | 101 | return 0; |
101 | } | 102 | } |
102 | 103 | ||
103 | static struct device_driver bvme6000_scsi_driver = { | 104 | static struct platform_driver bvme6000_scsi_driver = { |
104 | .name = "bvme6000-scsi", | 105 | .driver = { |
105 | .bus = &platform_bus_type, | 106 | .name = "bvme6000-scsi", |
106 | .probe = bvme6000_probe, | 107 | .owner = THIS_MODULE, |
107 | .remove = __devexit_p(bvme6000_device_remove), | 108 | }, |
109 | .probe = bvme6000_probe, | ||
110 | .remove = __devexit_p(bvme6000_device_remove), | ||
108 | }; | 111 | }; |
109 | 112 | ||
110 | static int __init bvme6000_scsi_init(void) | 113 | static int __init bvme6000_scsi_init(void) |
111 | { | 114 | { |
112 | int err; | 115 | int err; |
113 | 116 | ||
114 | err = driver_register(&bvme6000_scsi_driver); | 117 | err = platform_driver_register(&bvme6000_scsi_driver); |
115 | if (err) | 118 | if (err) |
116 | return err; | 119 | return err; |
117 | 120 | ||
118 | bvme6000_scsi_device = platform_device_register_simple("bvme6000-scsi", | 121 | bvme6000_scsi_device = platform_device_register_simple("bvme6000-scsi", |
119 | -1, NULL, 0); | 122 | -1, NULL, 0); |
120 | if (IS_ERR(bvme6000_scsi_device)) { | 123 | if (IS_ERR(bvme6000_scsi_device)) { |
121 | driver_unregister(&bvme6000_scsi_driver); | 124 | platform_driver_unregister(&bvme6000_scsi_driver); |
122 | return PTR_ERR(bvme6000_scsi_device); | 125 | return PTR_ERR(bvme6000_scsi_device); |
123 | } | 126 | } |
124 | 127 | ||
@@ -128,7 +131,7 @@ static int __init bvme6000_scsi_init(void) | |||
128 | static void __exit bvme6000_scsi_exit(void) | 131 | static void __exit bvme6000_scsi_exit(void) |
129 | { | 132 | { |
130 | platform_device_unregister(bvme6000_scsi_device); | 133 | platform_device_unregister(bvme6000_scsi_device); |
131 | driver_unregister(&bvme6000_scsi_driver); | 134 | platform_driver_unregister(&bvme6000_scsi_driver); |
132 | } | 135 | } |
133 | 136 | ||
134 | module_init(bvme6000_scsi_init); | 137 | module_init(bvme6000_scsi_init); |
diff --git a/drivers/scsi/mvme16x_scsi.c b/drivers/scsi/mvme16x_scsi.c index b264b499d982..b5fbfd6ce870 100644 --- a/drivers/scsi/mvme16x_scsi.c +++ b/drivers/scsi/mvme16x_scsi.c | |||
@@ -34,7 +34,7 @@ static struct scsi_host_template mvme16x_scsi_driver_template = { | |||
34 | static struct platform_device *mvme16x_scsi_device; | 34 | static struct platform_device *mvme16x_scsi_device; |
35 | 35 | ||
36 | static __devinit int | 36 | static __devinit int |
37 | mvme16x_probe(struct device *dev) | 37 | mvme16x_probe(struct platform_device *dev) |
38 | { | 38 | { |
39 | struct Scsi_Host * host = NULL; | 39 | struct Scsi_Host * host = NULL; |
40 | struct NCR_700_Host_Parameters *hostdata; | 40 | struct NCR_700_Host_Parameters *hostdata; |
@@ -64,7 +64,8 @@ mvme16x_probe(struct device *dev) | |||
64 | hostdata->ctest7_extra = CTEST7_TT1; | 64 | hostdata->ctest7_extra = CTEST7_TT1; |
65 | 65 | ||
66 | /* and register the chip */ | 66 | /* and register the chip */ |
67 | host = NCR_700_detect(&mvme16x_scsi_driver_template, hostdata, dev); | 67 | host = NCR_700_detect(&mvme16x_scsi_driver_template, hostdata, |
68 | &dev->dev); | ||
68 | if (!host) { | 69 | if (!host) { |
69 | printk(KERN_ERR "mvme16x-scsi: No host detected; " | 70 | printk(KERN_ERR "mvme16x-scsi: No host detected; " |
70 | "board configuration problem?\n"); | 71 | "board configuration problem?\n"); |
@@ -88,7 +89,7 @@ mvme16x_probe(struct device *dev) | |||
88 | out_be32(0xfff4202c, v); | 89 | out_be32(0xfff4202c, v); |
89 | } | 90 | } |
90 | 91 | ||
91 | dev_set_drvdata(dev, host); | 92 | platform_set_drvdata(dev, host); |
92 | scsi_scan_host(host); | 93 | scsi_scan_host(host); |
93 | 94 | ||
94 | return 0; | 95 | return 0; |
@@ -102,9 +103,9 @@ mvme16x_probe(struct device *dev) | |||
102 | } | 103 | } |
103 | 104 | ||
104 | static __devexit int | 105 | static __devexit int |
105 | mvme16x_device_remove(struct device *dev) | 106 | mvme16x_device_remove(struct platform_device *dev) |
106 | { | 107 | { |
107 | struct Scsi_Host *host = dev_get_drvdata(dev); | 108 | struct Scsi_Host *host = platform_get_drvdata(dev); |
108 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); | 109 | struct NCR_700_Host_Parameters *hostdata = shost_priv(host); |
109 | 110 | ||
110 | /* Disable scsi chip ints */ | 111 | /* Disable scsi chip ints */ |
@@ -123,25 +124,27 @@ mvme16x_device_remove(struct device *dev) | |||
123 | return 0; | 124 | return 0; |
124 | } | 125 | } |
125 | 126 | ||
126 | static struct device_driver mvme16x_scsi_driver = { | 127 | static struct platform_driver mvme16x_scsi_driver = { |
127 | .name = "mvme16x-scsi", | 128 | .driver = { |
128 | .bus = &platform_bus_type, | 129 | .name = "mvme16x-scsi", |
129 | .probe = mvme16x_probe, | 130 | .owner = THIS_MODULE, |
130 | .remove = __devexit_p(mvme16x_device_remove), | 131 | }, |
132 | .probe = mvme16x_probe, | ||
133 | .remove = __devexit_p(mvme16x_device_remove), | ||
131 | }; | 134 | }; |
132 | 135 | ||
133 | static int __init mvme16x_scsi_init(void) | 136 | static int __init mvme16x_scsi_init(void) |
134 | { | 137 | { |
135 | int err; | 138 | int err; |
136 | 139 | ||
137 | err = driver_register(&mvme16x_scsi_driver); | 140 | err = platform_driver_register(&mvme16x_scsi_driver); |
138 | if (err) | 141 | if (err) |
139 | return err; | 142 | return err; |
140 | 143 | ||
141 | mvme16x_scsi_device = platform_device_register_simple("mvme16x-scsi", | 144 | mvme16x_scsi_device = platform_device_register_simple("mvme16x-scsi", |
142 | -1, NULL, 0); | 145 | -1, NULL, 0); |
143 | if (IS_ERR(mvme16x_scsi_device)) { | 146 | if (IS_ERR(mvme16x_scsi_device)) { |
144 | driver_unregister(&mvme16x_scsi_driver); | 147 | platform_driver_unregister(&mvme16x_scsi_driver); |
145 | return PTR_ERR(mvme16x_scsi_device); | 148 | return PTR_ERR(mvme16x_scsi_device); |
146 | } | 149 | } |
147 | 150 | ||
@@ -151,7 +154,7 @@ static int __init mvme16x_scsi_init(void) | |||
151 | static void __exit mvme16x_scsi_exit(void) | 154 | static void __exit mvme16x_scsi_exit(void) |
152 | { | 155 | { |
153 | platform_device_unregister(mvme16x_scsi_device); | 156 | platform_device_unregister(mvme16x_scsi_device); |
154 | driver_unregister(&mvme16x_scsi_driver); | 157 | platform_driver_unregister(&mvme16x_scsi_driver); |
155 | } | 158 | } |
156 | 159 | ||
157 | module_init(mvme16x_scsi_init); | 160 | module_init(mvme16x_scsi_init); |
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 5f77417ed585..3ee4eb40abcf 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c | |||
@@ -533,12 +533,8 @@ fc_host_post_event(struct Scsi_Host *shost, u32 event_number, | |||
533 | event->event_code = event_code; | 533 | event->event_code = event_code; |
534 | event->event_data = event_data; | 534 | event->event_data = event_data; |
535 | 535 | ||
536 | err = nlmsg_multicast(scsi_nl_sock, skb, 0, SCSI_NL_GRP_FC_EVENTS, | 536 | nlmsg_multicast(scsi_nl_sock, skb, 0, SCSI_NL_GRP_FC_EVENTS, |
537 | GFP_KERNEL); | 537 | GFP_KERNEL); |
538 | if (err && (err != -ESRCH)) /* filter no recipient errors */ | ||
539 | /* nlmsg_multicast already kfree_skb'd */ | ||
540 | goto send_fail; | ||
541 | |||
542 | return; | 538 | return; |
543 | 539 | ||
544 | send_fail_skb: | 540 | send_fail_skb: |
@@ -607,12 +603,8 @@ fc_host_post_vendor_event(struct Scsi_Host *shost, u32 event_number, | |||
607 | event->event_code = FCH_EVT_VENDOR_UNIQUE; | 603 | event->event_code = FCH_EVT_VENDOR_UNIQUE; |
608 | memcpy(&event->event_data, data_buf, data_len); | 604 | memcpy(&event->event_data, data_buf, data_len); |
609 | 605 | ||
610 | err = nlmsg_multicast(scsi_nl_sock, skb, 0, SCSI_NL_GRP_FC_EVENTS, | 606 | nlmsg_multicast(scsi_nl_sock, skb, 0, SCSI_NL_GRP_FC_EVENTS, |
611 | GFP_KERNEL); | 607 | GFP_KERNEL); |
612 | if (err && (err != -ESRCH)) /* filter no recipient errors */ | ||
613 | /* nlmsg_multicast already kfree_skb'd */ | ||
614 | goto send_vendor_fail; | ||
615 | |||
616 | return; | 608 | return; |
617 | 609 | ||
618 | send_vendor_fail_skb: | 610 | send_vendor_fail_skb: |
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 75c9297694cb..2adfab8c11c1 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c | |||
@@ -966,15 +966,7 @@ iscsi_if_transport_lookup(struct iscsi_transport *tt) | |||
966 | static int | 966 | static int |
967 | iscsi_broadcast_skb(struct sk_buff *skb, gfp_t gfp) | 967 | iscsi_broadcast_skb(struct sk_buff *skb, gfp_t gfp) |
968 | { | 968 | { |
969 | int rc; | 969 | return netlink_broadcast(nls, skb, 0, 1, gfp); |
970 | |||
971 | rc = netlink_broadcast(nls, skb, 0, 1, gfp); | ||
972 | if (rc < 0) { | ||
973 | printk(KERN_ERR "iscsi: can not broadcast skb (%d)\n", rc); | ||
974 | return rc; | ||
975 | } | ||
976 | |||
977 | return 0; | ||
978 | } | 970 | } |
979 | 971 | ||
980 | static int | 972 | static int |
@@ -1207,7 +1199,7 @@ int iscsi_session_event(struct iscsi_cls_session *session, | |||
1207 | * the user and when the daemon is restarted it will handle it | 1199 | * the user and when the daemon is restarted it will handle it |
1208 | */ | 1200 | */ |
1209 | rc = iscsi_broadcast_skb(skb, GFP_KERNEL); | 1201 | rc = iscsi_broadcast_skb(skb, GFP_KERNEL); |
1210 | if (rc < 0) | 1202 | if (rc == -ESRCH) |
1211 | iscsi_cls_session_printk(KERN_ERR, session, | 1203 | iscsi_cls_session_printk(KERN_ERR, session, |
1212 | "Cannot notify userspace of session " | 1204 | "Cannot notify userspace of session " |
1213 | "event %u. Check iscsi daemon\n", | 1205 | "event %u. Check iscsi daemon\n", |
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index 516925d8b570..b4ef2f84ea32 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c | |||
@@ -1154,7 +1154,6 @@ sg_poll(struct file *filp, poll_table * wait) | |||
1154 | static int | 1154 | static int |
1155 | sg_fasync(int fd, struct file *filp, int mode) | 1155 | sg_fasync(int fd, struct file *filp, int mode) |
1156 | { | 1156 | { |
1157 | int retval; | ||
1158 | Sg_device *sdp; | 1157 | Sg_device *sdp; |
1159 | Sg_fd *sfp; | 1158 | Sg_fd *sfp; |
1160 | 1159 | ||
@@ -1163,8 +1162,7 @@ sg_fasync(int fd, struct file *filp, int mode) | |||
1163 | SCSI_LOG_TIMEOUT(3, printk("sg_fasync: %s, mode=%d\n", | 1162 | SCSI_LOG_TIMEOUT(3, printk("sg_fasync: %s, mode=%d\n", |
1164 | sdp->disk->disk_name, mode)); | 1163 | sdp->disk->disk_name, mode)); |
1165 | 1164 | ||
1166 | retval = fasync_helper(fd, filp, mode, &sfp->async_qp); | 1165 | return fasync_helper(fd, filp, mode, &sfp->async_qp); |
1167 | return (retval < 0) ? retval : 0; | ||
1168 | } | 1166 | } |
1169 | 1167 | ||
1170 | static int | 1168 | static int |