mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 01:10:04 +00:00
V4L/DVB (5480): Fix cx88_print_irqbits calls to use ARRAY_SIZE
cx88_print_irqbits were expecting a string pointer with 32 bytes. Better to pass the string size and use ARRAY_SIZE on its calls. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
53c4e9551c
commit
66623a0419
5 changed files with 11 additions and 8 deletions
|
@ -232,7 +232,8 @@ static void cx8801_aud_irq(snd_cx88_card_t *chip)
|
|||
cx_write(MO_AUD_INTSTAT, status);
|
||||
if (debug > 1 || (status & mask & ~0xff))
|
||||
cx88_print_irqbits(core->name, "irq aud",
|
||||
cx88_aud_irqs, status, mask);
|
||||
cx88_aud_irqs, ARRAY_SIZE(cx88_aud_irqs),
|
||||
status, mask);
|
||||
/* risc op code error */
|
||||
if (status & (1 << 16)) {
|
||||
printk(KERN_WARNING "%s/0: audio risc op code error\n",core->name);
|
||||
|
|
|
@ -489,12 +489,12 @@ static char *cx88_pci_irqs[32] = {
|
|||
};
|
||||
|
||||
void cx88_print_irqbits(char *name, char *tag, char **strings,
|
||||
u32 bits, u32 mask)
|
||||
int len, u32 bits, u32 mask)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
printk(KERN_DEBUG "%s: %s [0x%x]", name, tag, bits);
|
||||
for (i = 0; i < 32; i++) {
|
||||
for (i = 0; i < len; i++) {
|
||||
if (!(bits & (1 << i)))
|
||||
continue;
|
||||
if (strings[i])
|
||||
|
@ -520,8 +520,8 @@ int cx88_core_irq(struct cx88_core *core, u32 status)
|
|||
}
|
||||
if (!handled)
|
||||
cx88_print_irqbits(core->name, "irq pci",
|
||||
cx88_pci_irqs, status,
|
||||
core->pci_irqmask);
|
||||
cx88_pci_irqs, ARRAY_SIZE(cx88_pci_irqs),
|
||||
status, core->pci_irqmask);
|
||||
return handled;
|
||||
}
|
||||
|
||||
|
|
|
@ -366,7 +366,8 @@ static void cx8802_mpeg_irq(struct cx8802_dev *dev)
|
|||
|
||||
if (debug || (status & mask & ~0xff))
|
||||
cx88_print_irqbits(core->name, "irq mpeg ",
|
||||
cx88_mpeg_irqs, status, mask);
|
||||
cx88_mpeg_irqs, ARRAY_SIZE(cx88_mpeg_irqs),
|
||||
status, mask);
|
||||
|
||||
/* risc op code error */
|
||||
if (status & (1 << 16)) {
|
||||
|
|
|
@ -1555,7 +1555,8 @@ static void cx8800_vid_irq(struct cx8800_dev *dev)
|
|||
cx_write(MO_VID_INTSTAT, status);
|
||||
if (irq_debug || (status & mask & ~0xff))
|
||||
cx88_print_irqbits(core->name, "irq vid",
|
||||
cx88_vid_irqs, status, mask);
|
||||
cx88_vid_irqs, ARRAY_SIZE(cx88_vid_irqs),
|
||||
status, mask);
|
||||
|
||||
/* risc op code error */
|
||||
if (status & (1 << 16)) {
|
||||
|
|
|
@ -512,7 +512,7 @@ struct cx8802_dev {
|
|||
/* cx88-core.c */
|
||||
|
||||
extern void cx88_print_irqbits(char *name, char *tag, char **strings,
|
||||
u32 bits, u32 mask);
|
||||
int len, u32 bits, u32 mask);
|
||||
|
||||
extern int cx88_core_irq(struct cx88_core *core, u32 status);
|
||||
extern void cx88_wakeup(struct cx88_core *core,
|
||||
|
|
Loading…
Reference in a new issue