Merge branch 'fix/misc' into for-linus
This commit is contained in:
commit
1172234cbe
|
@ -307,7 +307,7 @@ struct ak4113 {
|
||||||
|
|
||||||
int snd_ak4113_create(struct snd_card *card, ak4113_read_t *read,
|
int snd_ak4113_create(struct snd_card *card, ak4113_read_t *read,
|
||||||
ak4113_write_t *write,
|
ak4113_write_t *write,
|
||||||
const unsigned char pgm[AK4113_WRITABLE_REGS],
|
const unsigned char *pgm,
|
||||||
void *private_data, struct ak4113 **r_ak4113);
|
void *private_data, struct ak4113 **r_ak4113);
|
||||||
void snd_ak4113_reg_write(struct ak4113 *ak4113, unsigned char reg,
|
void snd_ak4113_reg_write(struct ak4113 *ak4113, unsigned char reg,
|
||||||
unsigned char mask, unsigned char val);
|
unsigned char mask, unsigned char val);
|
||||||
|
|
|
@ -70,7 +70,7 @@ static int snd_ak4113_dev_free(struct snd_device *device)
|
||||||
}
|
}
|
||||||
|
|
||||||
int snd_ak4113_create(struct snd_card *card, ak4113_read_t *read,
|
int snd_ak4113_create(struct snd_card *card, ak4113_read_t *read,
|
||||||
ak4113_write_t *write, const unsigned char pgm[5],
|
ak4113_write_t *write, const unsigned char *pgm,
|
||||||
void *private_data, struct ak4113 **r_ak4113)
|
void *private_data, struct ak4113 **r_ak4113)
|
||||||
{
|
{
|
||||||
struct ak4113 *chip;
|
struct ak4113 *chip;
|
||||||
|
|
|
@ -2184,10 +2184,9 @@ static int __devinit snd_echo_probe(struct pci_dev *pci,
|
||||||
goto ctl_error;
|
goto ctl_error;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((err = snd_card_register(card)) < 0) {
|
err = snd_card_register(card);
|
||||||
snd_card_free(card);
|
if (err < 0)
|
||||||
goto ctl_error;
|
goto ctl_error;
|
||||||
}
|
|
||||||
snd_printk(KERN_INFO "Card registered: %s\n", card->longname);
|
snd_printk(KERN_INFO "Card registered: %s\n", card->longname);
|
||||||
|
|
||||||
pci_set_drvdata(pci, chip);
|
pci_set_drvdata(pci, chip);
|
||||||
|
|
|
@ -1161,13 +1161,15 @@ static long snd_mixart_BA0_read(struct snd_info_entry *entry, void *file_private
|
||||||
unsigned long count, unsigned long pos)
|
unsigned long count, unsigned long pos)
|
||||||
{
|
{
|
||||||
struct mixart_mgr *mgr = entry->private_data;
|
struct mixart_mgr *mgr = entry->private_data;
|
||||||
|
unsigned long maxsize;
|
||||||
|
|
||||||
count = count & ~3; /* make sure the read size is a multiple of 4 bytes */
|
if (pos >= MIXART_BA0_SIZE)
|
||||||
if(count <= 0)
|
|
||||||
return 0;
|
return 0;
|
||||||
if(pos + count > MIXART_BA0_SIZE)
|
maxsize = MIXART_BA0_SIZE - pos;
|
||||||
count = (long)(MIXART_BA0_SIZE - pos);
|
if (count > maxsize)
|
||||||
if(copy_to_user_fromio(buf, MIXART_MEM( mgr, pos ), count))
|
count = maxsize;
|
||||||
|
count = count & ~3; /* make sure the read size is a multiple of 4 bytes */
|
||||||
|
if (copy_to_user_fromio(buf, MIXART_MEM(mgr, pos), count))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
@ -1180,13 +1182,15 @@ static long snd_mixart_BA1_read(struct snd_info_entry *entry, void *file_private
|
||||||
unsigned long count, unsigned long pos)
|
unsigned long count, unsigned long pos)
|
||||||
{
|
{
|
||||||
struct mixart_mgr *mgr = entry->private_data;
|
struct mixart_mgr *mgr = entry->private_data;
|
||||||
|
unsigned long maxsize;
|
||||||
|
|
||||||
count = count & ~3; /* make sure the read size is a multiple of 4 bytes */
|
if (pos > MIXART_BA1_SIZE)
|
||||||
if(count <= 0)
|
|
||||||
return 0;
|
return 0;
|
||||||
if(pos + count > MIXART_BA1_SIZE)
|
maxsize = MIXART_BA1_SIZE - pos;
|
||||||
count = (long)(MIXART_BA1_SIZE - pos);
|
if (count > maxsize)
|
||||||
if(copy_to_user_fromio(buf, MIXART_REG( mgr, pos ), count))
|
count = maxsize;
|
||||||
|
count = count & ~3; /* make sure the read size is a multiple of 4 bytes */
|
||||||
|
if (copy_to_user_fromio(buf, MIXART_REG(mgr, pos), count))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue