diff options
Diffstat (limited to 'drivers/scsi/aic7xxx/aic7770_osm.c')
-rw-r--r-- | drivers/scsi/aic7xxx/aic7770_osm.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/drivers/scsi/aic7xxx/aic7770_osm.c b/drivers/scsi/aic7xxx/aic7770_osm.c index 682ca0b32b44..d0e9b54ab008 100644 --- a/drivers/scsi/aic7xxx/aic7770_osm.c +++ b/drivers/scsi/aic7xxx/aic7770_osm.c | |||
@@ -190,25 +190,13 @@ aic7770_eisa_dev_probe(struct device *dev) | |||
190 | static int | 190 | static int |
191 | aic7770_eisa_dev_remove(struct device *dev) | 191 | aic7770_eisa_dev_remove(struct device *dev) |
192 | { | 192 | { |
193 | struct ahc_softc *ahc; | 193 | struct ahc_softc *ahc = dev_get_drvata(dev); |
194 | u_long l; | 194 | u_long s; |
195 | 195 | ||
196 | /* | 196 | ahc_lock(ahc, &s); |
197 | * We should be able to just perform | 197 | ahc_intr_enable(ahc, FALSE); |
198 | * the free directly, but check our | 198 | ahc_unlock(ahc, &s); |
199 | * list for extra sanity. | 199 | ahc_free(ahc); |
200 | */ | ||
201 | ahc_list_lock(&l); | ||
202 | ahc = ahc_find_softc((struct ahc_softc *)dev->driver_data); | ||
203 | if (ahc != NULL) { | ||
204 | u_long s; | ||
205 | |||
206 | ahc_lock(ahc, &s); | ||
207 | ahc_intr_enable(ahc, FALSE); | ||
208 | ahc_unlock(ahc, &s); | ||
209 | ahc_free(ahc); | ||
210 | } | ||
211 | ahc_list_unlock(&l); | ||
212 | 200 | ||
213 | return (0); | 201 | return (0); |
214 | } | 202 | } |