git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This commit was manufactured by cvs2svn to create tag
[linux-2.6.git]
/
sound
/
oss
/
dmasound
/
tas3004.c
diff --git
a/sound/oss/dmasound/tas3004.c
b/sound/oss/dmasound/tas3004.c
index
82eaaca
..
933b460
100644
(file)
--- a/
sound/oss/dmasound/tas3004.c
+++ b/
sound/oss/dmasound/tas3004.c
@@
-635,11
+635,10
@@
tas3004_eq_rw( struct tas3004_data_t *self,
u_int cmd,
u_long arg)
{
u_int cmd,
u_long arg)
{
- void __user *argp = (void __user *)arg;
int rc;
struct tas_biquad_ctrl_t biquad;
int rc;
struct tas_biquad_ctrl_t biquad;
- if (copy_from_user((void *)&biquad,
argp
, sizeof(struct tas_biquad_ctrl_t))) {
+ if (copy_from_user((void *)&biquad,
(const void *)arg
, sizeof(struct tas_biquad_ctrl_t))) {
return -EFAULT;
}
return -EFAULT;
}
@@
-652,7
+651,7
@@
tas3004_eq_rw( struct tas3004_data_t *self,
rc=tas3004_read_biquad(self, biquad.channel, biquad.filter, &biquad.data);
if (rc != 0) return rc;
rc=tas3004_read_biquad(self, biquad.channel, biquad.filter, &biquad.data);
if (rc != 0) return rc;
- if (copy_to_user(
argp,
&biquad, sizeof(struct tas_biquad_ctrl_t))) {
+ if (copy_to_user(
(void *)arg, (const void *)
&biquad, sizeof(struct tas_biquad_ctrl_t))) {
return -EFAULT;
}
return -EFAULT;
}
@@
-671,21
+670,27
@@
tas3004_eq_list_rw( struct tas3004_data_t *self,
int i,j;
char sync_required[TAS3004_BIQUAD_CHANNEL_COUNT][TAS3004_BIQUAD_FILTER_COUNT];
struct tas_biquad_ctrl_t biquad;
int i,j;
char sync_required[TAS3004_BIQUAD_CHANNEL_COUNT][TAS3004_BIQUAD_FILTER_COUNT];
struct tas_biquad_ctrl_t biquad;
- struct tas_biquad_ctrl_list_t __user *argp = (void __user *)arg;
memset(sync_required,0,sizeof(sync_required));
memset(sync_required,0,sizeof(sync_required));
- if (copy_from_user(&filter_count, &argp->filter_count, sizeof(int)))
+ if (copy_from_user((void *)&filter_count,
+ (const void *)arg + offsetof(struct tas_biquad_ctrl_list_t,filter_count),
+ sizeof(int))) {
return -EFAULT;
return -EFAULT;
+ }
- if (copy_from_user(&flags, &argp->flags, sizeof(int)))
+ if (copy_from_user((void *)&flags,
+ (const void *)arg + offsetof(struct tas_biquad_ctrl_list_t,flags),
+ sizeof(int))) {
return -EFAULT;
return -EFAULT;
+ }
if (cmd & SIOC_IN) {
}
for (i=0; i < filter_count; i++) {
if (cmd & SIOC_IN) {
}
for (i=0; i < filter_count; i++) {
- if (copy_from_user(&biquad, &argp->biquads[i],
+ if (copy_from_user((void *)&biquad,
+ (const void *)arg + offsetof(struct tas_biquad_ctrl_list_t, biquads[i]),
sizeof(struct tas_biquad_ctrl_t))) {
return -EFAULT;
}
sizeof(struct tas_biquad_ctrl_t))) {
return -EFAULT;
}
@@
-700,7
+705,8
@@
tas3004_eq_list_rw( struct tas3004_data_t *self,
rc=tas3004_read_biquad(self, biquad.channel, biquad.filter, &biquad.data);
if (rc != 0) return rc;
rc=tas3004_read_biquad(self, biquad.channel, biquad.filter, &biquad.data);
if (rc != 0) return rc;
- if (copy_to_user(&argp->biquads[i], &biquad,
+ if (copy_to_user((void *)arg + offsetof(struct tas_biquad_ctrl_list_t, biquads[i]),
+ (const void *)&biquad,
sizeof(struct tas_biquad_ctrl_t))) {
return -EFAULT;
}
sizeof(struct tas_biquad_ctrl_t))) {
return -EFAULT;
}
@@
-834,10
+840,12
@@
tas3004_drce_rw( struct tas3004_data_t *self,
{
int rc;
struct tas_drce_ctrl_t drce_ctrl;
{
int rc;
struct tas_drce_ctrl_t drce_ctrl;
- void __user *argp = (void __user *)arg;
- if (copy_from_user(&drce_ctrl, argp, sizeof(struct tas_drce_ctrl_t)))
+ if (copy_from_user((void *)&drce_ctrl,
+ (const void *)arg,
+ sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
return -EFAULT;
+ }
#ifdef DEBUG_DRCE
printk("DRCE: input [ FLAGS:%x ENABLE:%x ABOVE:%x/%x BELOW:%x/%x THRESH:%x ENERGY:%x ATTACK:%x DECAY:%x\n",
#ifdef DEBUG_DRCE
printk("DRCE: input [ FLAGS:%x ENABLE:%x ABOVE:%x/%x BELOW:%x/%x THRESH:%x ENERGY:%x ATTACK:%x DECAY:%x\n",
@@
-872,7
+880,8
@@
tas3004_drce_rw( struct tas3004_data_t *self,
if (drce_ctrl.flags & TAS_DRCE_DECAY)
drce_ctrl.data.decay = self->drce_state.decay;
if (drce_ctrl.flags & TAS_DRCE_DECAY)
drce_ctrl.data.decay = self->drce_state.decay;
- if (copy_to_user(argp, &drce_ctrl,
+ if (copy_to_user((void *)arg,
+ (const void *)&drce_ctrl,
sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
}
sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
}
@@
-943,7
+952,6
@@
tas3004_device_ioctl( struct tas3004_data_t *self,
u_int cmd,
u_long arg)
{
u_int cmd,
u_long arg)
{
- uint __user *argp = (void __user *)arg;
switch (cmd) {
case TAS_READ_EQ:
case TAS_WRITE_EQ:
switch (cmd) {
case TAS_READ_EQ:
case TAS_WRITE_EQ:
@@
-954,11
+962,11
@@
tas3004_device_ioctl( struct tas3004_data_t *self,
return tas3004_eq_list_rw(self, cmd, arg);
case TAS_READ_EQ_FILTER_COUNT:
return tas3004_eq_list_rw(self, cmd, arg);
case TAS_READ_EQ_FILTER_COUNT:
- put_user(TAS3004_BIQUAD_FILTER_COUNT,
argp
);
+ put_user(TAS3004_BIQUAD_FILTER_COUNT,
(uint *)(arg)
);
return 0;
case TAS_READ_EQ_CHANNEL_COUNT:
return 0;
case TAS_READ_EQ_CHANNEL_COUNT:
- put_user(TAS3004_BIQUAD_CHANNEL_COUNT,
argp
);
+ put_user(TAS3004_BIQUAD_CHANNEL_COUNT,
(uint *)(arg)
);
return 0;
case TAS_READ_DRCE:
return 0;
case TAS_READ_DRCE:
@@
-973,7
+981,7
@@
tas3004_device_ioctl( struct tas3004_data_t *self,
TAS_DRCE_ENERGY |
TAS_DRCE_ATTACK |
TAS_DRCE_DECAY,
TAS_DRCE_ENERGY |
TAS_DRCE_ATTACK |
TAS_DRCE_DECAY,
-
argp
);
+
(uint *)(arg)
);
return 0;
case TAS_READ_DRCE_MIN:
return 0;
case TAS_READ_DRCE_MIN:
@@
-981,7
+989,8
@@
tas3004_device_ioctl( struct tas3004_data_t *self,
struct tas_drce_ctrl_t drce_ctrl;
const struct tas_drce_t *drce_copy;
struct tas_drce_ctrl_t drce_ctrl;
const struct tas_drce_t *drce_copy;
- if (copy_from_user(&drce_ctrl, argp,
+ if (copy_from_user((void *)&drce_ctrl,
+ (const void *)arg,
sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
}
sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
}
@@
-1011,7
+1020,8
@@
tas3004_device_ioctl( struct tas3004_data_t *self,
drce_ctrl.data.decay=drce_copy->decay;
}
drce_ctrl.data.decay=drce_copy->decay;
}
- if (copy_to_user(argp, &drce_ctrl,
+ if (copy_to_user((void *)arg,
+ (const void *)&drce_ctrl,
sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
}
sizeof(struct tas_drce_ctrl_t))) {
return -EFAULT;
}