diff options
Diffstat (limited to 'drivers/ieee1394/hosts.c')
-rw-r--r-- | drivers/ieee1394/hosts.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/ieee1394/hosts.c b/drivers/ieee1394/hosts.c index ee82a5320bf7..32a130921938 100644 --- a/drivers/ieee1394/hosts.c +++ b/drivers/ieee1394/hosts.c | |||
@@ -190,14 +190,19 @@ int hpsb_add_host(struct hpsb_host *host) | |||
190 | { | 190 | { |
191 | if (hpsb_default_host_entry(host)) | 191 | if (hpsb_default_host_entry(host)) |
192 | return -ENOMEM; | 192 | return -ENOMEM; |
193 | |||
194 | hpsb_add_extra_config_roms(host); | 193 | hpsb_add_extra_config_roms(host); |
195 | |||
196 | highlevel_add_host(host); | 194 | highlevel_add_host(host); |
197 | |||
198 | return 0; | 195 | return 0; |
199 | } | 196 | } |
200 | 197 | ||
198 | void hpsb_resume_host(struct hpsb_host *host) | ||
199 | { | ||
200 | if (host->driver->set_hw_config_rom) | ||
201 | host->driver->set_hw_config_rom(host, | ||
202 | host->csr.rom->bus_info_data); | ||
203 | host->driver->devctl(host, RESET_BUS, SHORT_RESET); | ||
204 | } | ||
205 | |||
201 | void hpsb_remove_host(struct hpsb_host *host) | 206 | void hpsb_remove_host(struct hpsb_host *host) |
202 | { | 207 | { |
203 | host->is_shutdown = 1; | 208 | host->is_shutdown = 1; |
@@ -206,9 +211,7 @@ void hpsb_remove_host(struct hpsb_host *host) | |||
206 | flush_scheduled_work(); | 211 | flush_scheduled_work(); |
207 | 212 | ||
208 | host->driver = &dummy_driver; | 213 | host->driver = &dummy_driver; |
209 | |||
210 | highlevel_remove_host(host); | 214 | highlevel_remove_host(host); |
211 | |||
212 | hpsb_remove_extra_config_roms(host); | 215 | hpsb_remove_extra_config_roms(host); |
213 | 216 | ||
214 | class_device_unregister(&host->class_dev); | 217 | class_device_unregister(&host->class_dev); |