mirror of
https://github.com/followmsi/android_kernel_google_msm.git
synced 2024-11-06 23:17:41 +00:00
ALSA: asihpi - bug fix pa use before init.
Fixes bug introduced by 1c073b67
.
Also declare pa local to block in which it is used.
Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
45eebda7b4
commit
767cd365b2
1 changed files with 4 additions and 7 deletions
|
@ -107,7 +107,6 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
union hpi_response_buffer_v1 *hr;
|
||||
u16 res_max_size;
|
||||
u32 uncopied_bytes;
|
||||
struct hpi_adapter *pa = NULL;
|
||||
int err = 0;
|
||||
|
||||
if (cmd != HPI_IOCTL_LINUX)
|
||||
|
@ -182,6 +181,7 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
/* -1=no data 0=read from user mem, 1=write to user mem */
|
||||
int wrflag = -1;
|
||||
u32 adapter = hm->h.adapter_index;
|
||||
struct hpi_adapter *pa = &adapters[adapter];
|
||||
|
||||
if ((adapter > HPI_MAX_ADAPTERS) || (!pa->type)) {
|
||||
hpi_init_response(&hr->r0, HPI_OBJ_ADAPTER,
|
||||
|
@ -197,9 +197,7 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
goto out;
|
||||
}
|
||||
|
||||
pa = &adapters[adapter];
|
||||
|
||||
if (mutex_lock_interruptible(&adapters[adapter].mutex)) {
|
||||
if (mutex_lock_interruptible(&pa->mutex)) {
|
||||
err = -EINTR;
|
||||
goto out;
|
||||
}
|
||||
|
@ -235,8 +233,7 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
"stream buffer size %d\n",
|
||||
size);
|
||||
|
||||
mutex_unlock(&adapters
|
||||
[adapter].mutex);
|
||||
mutex_unlock(&pa->mutex);
|
||||
err = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
@ -277,7 +274,7 @@ long asihpi_hpi_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
|
|||
uncopied_bytes, size);
|
||||
}
|
||||
|
||||
mutex_unlock(&adapters[adapter].mutex);
|
||||
mutex_unlock(&pa->mutex);
|
||||
}
|
||||
|
||||
/* on return response size must be set */
|
||||
|
|
Loading…
Reference in a new issue