aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/sl811_cs.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/drivers/usb/host/sl811_cs.c b/drivers/usb/host/sl811_cs.c
index 134d2000128a..ee811673d903 100644
--- a/drivers/usb/host/sl811_cs.c
+++ b/drivers/usb/host/sl811_cs.c
@@ -154,19 +154,10 @@ static void sl811_cs_detach(struct pcmcia_device *p_dev)
154 154
155static void sl811_cs_release(dev_link_t * link) 155static void sl811_cs_release(dev_link_t * link)
156{ 156{
157
158 DBG(0, "sl811_cs_release(0x%p)\n", link); 157 DBG(0, "sl811_cs_release(0x%p)\n", link);
159 158
160 /* Unlink the device chain */ 159 pcmcia_disable_device(link->handle);
161 link->dev = NULL;
162
163 platform_device_unregister(&platform_dev); 160 platform_device_unregister(&platform_dev);
164 pcmcia_release_configuration(link->handle);
165 if (link->io.NumPorts1)
166 pcmcia_release_io(link->handle, &link->io);
167 if (link->irq.AssignedIRQ)
168 pcmcia_release_irq(link->handle, &link->irq);
169 link->state &= ~DEV_CONFIG;
170} 161}
171 162
172static void sl811_cs_config(dev_link_t *link) 163static void sl811_cs_config(dev_link_t *link)
@@ -260,8 +251,7 @@ static void sl811_cs_config(dev_link_t *link)
260 break; 251 break;
261 252
262next_entry: 253next_entry:
263 if (link->io.NumPorts1) 254 pcmcia_disable_device(handle);
264 pcmcia_release_io(link->handle, &link->io);
265 last_ret = pcmcia_get_next_tuple(handle, &tuple); 255 last_ret = pcmcia_get_next_tuple(handle, &tuple);
266 } 256 }
267 257