Commit 79611bfd authored by Jaroslav Kysela's avatar Jaroslav Kysela

ALSA update

  - fixed compilation of ioctl32 from David S. Miller
parent 359dad18
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
#include <linux/smp_lock.h> #include <linux/smp_lock.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/slab.h>
#include <linux/init.h> #include <linux/init.h>
#include <sound/core.h> #include <sound/core.h>
#include <sound/control.h> #include <sound/control.h>
...@@ -287,13 +288,13 @@ static int _snd_ioctl32_ctl_elem_value(unsigned int fd, unsigned int cmd, unsign ...@@ -287,13 +288,13 @@ static int _snd_ioctl32_ctl_elem_value(unsigned int fd, unsigned int cmd, unsign
data->id = data32->id; data->id = data32->id;
data->indirect = data32->indirect; data->indirect = data32->indirect;
if (data->indirect) /* FIXME: this is not correct for long arrays */ if (data->indirect) /* FIXME: this is not correct for long arrays */
data.value.integer.value_ptr = (void*)TO_PTR(data32->value.integer.value_ptr); data->value.integer.value_ptr = (void*)TO_PTR(data32->value.integer.value_ptr);
type = get_ctl_type(file, &data->id); type = get_ctl_type(file, &data->id);
if (type < 0) { if (type < 0) {
err = type; err = type;
goto __end; goto __end;
} }
if (! data.indirect) { if (! data->indirect) {
switch (type) { switch (type) {
case SNDRV_CTL_ELEM_TYPE_BOOLEAN: case SNDRV_CTL_ELEM_TYPE_BOOLEAN:
case SNDRV_CTL_ELEM_TYPE_INTEGER: case SNDRV_CTL_ELEM_TYPE_INTEGER:
...@@ -328,7 +329,7 @@ static int _snd_ioctl32_ctl_elem_value(unsigned int fd, unsigned int cmd, unsign ...@@ -328,7 +329,7 @@ static int _snd_ioctl32_ctl_elem_value(unsigned int fd, unsigned int cmd, unsign
if (err < 0) if (err < 0)
goto __end; goto __end;
/* restore info to 32bit */ /* restore info to 32bit */
if (! data.indirect) { if (! data->indirect) {
switch (type) { switch (type) {
case SNDRV_CTL_ELEM_TYPE_BOOLEAN: case SNDRV_CTL_ELEM_TYPE_BOOLEAN:
case SNDRV_CTL_ELEM_TYPE_INTEGER: case SNDRV_CTL_ELEM_TYPE_INTEGER:
......
...@@ -86,8 +86,8 @@ static int _snd_ioctl32_##type(unsigned int fd, unsigned int cmd, unsigned long ...@@ -86,8 +86,8 @@ static int _snd_ioctl32_##type(unsigned int fd, unsigned int cmd, unsigned long
struct sndrv_##type *data;\ struct sndrv_##type *data;\
mm_segment_t oldseg;\ mm_segment_t oldseg;\
int err;\ int err;\
data32 = kcalloc(sizeof(*data32), GFP_KERNEL); \ data32 = kmalloc(sizeof(*data32), GFP_KERNEL); \
data = kcalloc(sizeof(*data), GFP_KERNEL); \ data = kmalloc(sizeof(*data), GFP_KERNEL); \
if (data32 == NULL || data == NULL) { \ if (data32 == NULL || data == NULL) { \
err = -ENOMEM; \ err = -ENOMEM; \
goto __end; \ goto __end; \
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <sound/driver.h> #include <sound/driver.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/slab.h>
#include <sound/core.h> #include <sound/core.h>
#include <sound/pcm.h> #include <sound/pcm.h>
#include "ioctl32.h" #include "ioctl32.h"
...@@ -230,7 +231,7 @@ static int _snd_ioctl32_xfern(unsigned int fd, unsigned int cmd, unsigned long a ...@@ -230,7 +231,7 @@ static int _snd_ioctl32_xfern(unsigned int fd, unsigned int cmd, unsigned long a
snd_pcm_file_t *pcm_file; snd_pcm_file_t *pcm_file;
snd_pcm_substream_t *substream; snd_pcm_substream_t *substream;
struct sndrv_xfern32 data32, *srcptr = (struct sndrv_xfern32*)arg; struct sndrv_xfern32 data32, *srcptr = (struct sndrv_xfern32*)arg;
void *bufs = NULL; void **bufs = NULL;
int err = 0, ch, i; int err = 0, ch, i;
u32 *bufptr; u32 *bufptr;
mm_segment_t oldseg; mm_segment_t oldseg;
...@@ -260,7 +261,7 @@ static int _snd_ioctl32_xfern(unsigned int fd, unsigned int cmd, unsigned long a ...@@ -260,7 +261,7 @@ static int _snd_ioctl32_xfern(unsigned int fd, unsigned int cmd, unsigned long a
return -EFAULT; return -EFAULT;
__get_user(data32.bufs, &srcptr->bufs); __get_user(data32.bufs, &srcptr->bufs);
bufptr = (u32*)TO_PTR(data32.bufs); bufptr = (u32*)TO_PTR(data32.bufs);
bufs = kmalloc(sizeof(void *) * 128, GFP_KERNEL) bufs = kmalloc(sizeof(void *) * 128, GFP_KERNEL);
if (bufs == NULL) if (bufs == NULL)
return -ENOMEM; return -ENOMEM;
for (i = 0; i < ch; i++) { for (i = 0; i < ch; i++) {
...@@ -352,8 +353,8 @@ static int _snd_ioctl32_pcm_hw_params_old(unsigned int fd, unsigned int cmd, uns ...@@ -352,8 +353,8 @@ static int _snd_ioctl32_pcm_hw_params_old(unsigned int fd, unsigned int cmd, uns
mm_segment_t oldseg; mm_segment_t oldseg;
int err; int err;
data32 = kcalloc(sizeof(*data32), GFP_KERNEL); data32 = snd_kcalloc(sizeof(*data32), GFP_KERNEL);
data = kcalloc(sizeof(*data), GFP_KERNEL); data = snd_kcalloc(sizeof(*data), GFP_KERNEL);
if (data32 == NULL || data == NULL) { if (data32 == NULL || data == NULL) {
err = -ENOMEM; err = -ENOMEM;
goto __end; goto __end;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment