aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/asihpi/hpimsgx.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-05-22 10:01:29 +0200
committerTakashi Iwai <tiwai@suse.de>2011-05-22 10:01:29 +0200
commit02e5fbf622aabf68bdc02282a17a3aeed054237a (patch)
tree60f2d4e09464dbf338c832bb39f861f29779b86b /sound/pci/asihpi/hpimsgx.c
parentb759b3ac9aee3afb01c21b603970ebb200c8048e (diff)
parentbfe9fc8aebc997ce8bcf8ac0586c84a247812064 (diff)
downloadkernel_samsung_smdk4412-02e5fbf622aabf68bdc02282a17a3aeed054237a.zip
kernel_samsung_smdk4412-02e5fbf622aabf68bdc02282a17a3aeed054237a.tar.gz
kernel_samsung_smdk4412-02e5fbf622aabf68bdc02282a17a3aeed054237a.tar.bz2
Merge branch 'topic/misc' into for-linus
Diffstat (limited to 'sound/pci/asihpi/hpimsgx.c')
-rw-r--r--sound/pci/asihpi/hpimsgx.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/sound/pci/asihpi/hpimsgx.c b/sound/pci/asihpi/hpimsgx.c
index 360028b..7352a5f 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,
HPIMSGX__init(phm, phr);
break;
- case HPI_SUBSYS_DELETE_ADAPTER:
- HPIMSGX__cleanup(phm->obj_index, h_owner);
- {
- struct hpi_message hm;
- struct hpi_response hr;
- hpi_init_message_response(&hm, &hr, HPI_OBJ_ADAPTER,
- HPI_ADAPTER_CLOSE);
- hm.adapter_index = phm->obj_index;
- hw_entry_point(&hm, &hr);
- }
- if ((phm->obj_index < HPI_MAX_ADAPTERS)
- && hpi_entry_points[phm->obj_index]) {
- hpi_entry_points[phm->obj_index] (phm, phr);
- hpi_entry_points[phm->obj_index] = NULL;
- } else
- phr->error = HPI_ERROR_INVALID_OBJ_INDEX;
-
- break;
default:
/* Must explicitly handle every subsys message in this switch */
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,
case HPI_ADAPTER_CLOSE:
adapter_close(phm, phr);
break;
+ case HPI_ADAPTER_DELETE:
+ HPIMSGX__cleanup(phm->adapter_index, h_owner);
+ {
+ struct hpi_message hm;
+ struct hpi_response hr;
+ hpi_init_message_response(&hm, &hr, HPI_OBJ_ADAPTER,
+ HPI_ADAPTER_CLOSE);
+ hm.adapter_index = phm->adapter_index;
+ hw_entry_point(&hm, &hr);
+ }
+ hw_entry_point(phm, phr);
+ break;
+
default:
hw_entry_point(phm, phr);
break;