ALSA: asihpi - Fix imbalanced lock path in hw_message
authorEliot Blennerhassett <eblennerhassett@audioscience.com>
Thu, 27 May 2010 05:53:53 +0000 (17:53 +1200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 27 May 2010 07:53:00 +0000 (09:53 +0200)
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/asihpi/hpi6000.c

index 26b3b3f0a152623385d970c9600969fe04581ed5..12dab5e4892cd898b6cd53944a4bcfd585986527 100644 (file)
@@ -1772,7 +1772,6 @@ static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm,
        u16 error = 0;
        u16 dsp_index = 0;
        u16 num_dsp = ((struct hpi_hw_obj *)pao->priv)->num_dsp;
-       hpios_dsplock_lock(pao);
 
        if (num_dsp < 2)
                dsp_index = 0;
@@ -1793,6 +1792,8 @@ static void hw_message(struct hpi_adapter_obj *pao, struct hpi_message *phm,
                        }
                }
        }
+
+       hpios_dsplock_lock(pao);
        error = hpi6000_message_response_sequence(pao, dsp_index, phm, phr);
 
        /* maybe an error response */