diff options
Diffstat (limited to 'sound/pci/asihpi/hpimsgx.c')
-rw-r--r-- | sound/pci/asihpi/hpimsgx.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/sound/pci/asihpi/hpimsgx.c b/sound/pci/asihpi/hpimsgx.c index 360028b9abf5..7352a5f7b4f7 100644 --- a/sound/pci/asihpi/hpimsgx.c +++ b/sound/pci/asihpi/hpimsgx.c | |||
@@ -211,24 +211,6 @@ static void subsys_message(struct hpi_message *phm, struct hpi_response *phr, | |||
211 | HPIMSGX__init(phm, phr); | 211 | HPIMSGX__init(phm, phr); |
212 | break; | 212 | break; |
213 | 213 | ||
214 | case HPI_SUBSYS_DELETE_ADAPTER: | ||
215 | HPIMSGX__cleanup(phm->obj_index, h_owner); | ||
216 | { | ||
217 | struct hpi_message hm; | ||
218 | struct hpi_response hr; | ||
219 | hpi_init_message_response(&hm, &hr, HPI_OBJ_ADAPTER, | ||
220 | HPI_ADAPTER_CLOSE); | ||
221 | hm.adapter_index = phm->obj_index; | ||
222 | hw_entry_point(&hm, &hr); | ||
223 | } | ||
224 | if ((phm->obj_index < HPI_MAX_ADAPTERS) | ||
225 | && hpi_entry_points[phm->obj_index]) { | ||
226 | hpi_entry_points[phm->obj_index] (phm, phr); | ||
227 | hpi_entry_points[phm->obj_index] = NULL; | ||
228 | } else | ||
229 | phr->error = HPI_ERROR_INVALID_OBJ_INDEX; | ||
230 | |||
231 | break; | ||
232 | default: | 214 | default: |
233 | /* Must explicitly handle every subsys message in this switch */ | 215 | /* Must explicitly handle every subsys message in this switch */ |
234 | hpi_init_response(phr, HPI_OBJ_SUBSYSTEM, phm->function, | 216 | hpi_init_response(phr, HPI_OBJ_SUBSYSTEM, phm->function, |
@@ -247,6 +229,19 @@ static void adapter_message(struct hpi_message *phm, struct hpi_response *phr, | |||
247 | case HPI_ADAPTER_CLOSE: | 229 | case HPI_ADAPTER_CLOSE: |
248 | adapter_close(phm, phr); | 230 | adapter_close(phm, phr); |
249 | break; | 231 | break; |
232 | case HPI_ADAPTER_DELETE: | ||
233 | HPIMSGX__cleanup(phm->adapter_index, h_owner); | ||
234 | { | ||
235 | struct hpi_message hm; | ||
236 | struct hpi_response hr; | ||
237 | hpi_init_message_response(&hm, &hr, HPI_OBJ_ADAPTER, | ||
238 | HPI_ADAPTER_CLOSE); | ||
239 | hm.adapter_index = phm->adapter_index; | ||
240 | hw_entry_point(&hm, &hr); | ||
241 | } | ||
242 | hw_entry_point(phm, phr); | ||
243 | break; | ||
244 | |||
250 | default: | 245 | default: |
251 | hw_entry_point(phm, phr); | 246 | hw_entry_point(phm, phr); |
252 | break; | 247 | break; |