Skip to content

Commit

Permalink
V4L/DVB (11243): cx88: Missing failure checks
Browse files Browse the repository at this point in the history
The ioremap one was reported in October 2007 (Bug 9146), the kmalloc one
was blindingly obvious while looking at the ioremap one

The bug suggests some other configuration for lots of I/O memory (32MB per
device is ioremapped) but I'll leave that to the real maintainers

Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
  • Loading branch information
Alan Cox authored and Mauro Carvalho Chehab committed Mar 30, 2009
1 parent c01f1a5 commit fbc0ae2
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions drivers/media/video/cx88/cx88-cards.c
Original file line number Diff line number Diff line change
Expand Up @@ -3127,6 +3127,8 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
int i;

core = kzalloc(sizeof(*core), GFP_KERNEL);
if (core == NULL)
return NULL;

atomic_inc(&core->refcount);
core->pci_bus = pci->bus->number;
Expand Down Expand Up @@ -3157,6 +3159,11 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
pci_resource_len(pci, 0));
core->bmmio = (u8 __iomem *)core->lmmio;

if (core->lmmio == NULL) {
kfree(core);
return NULL;
}

/* board config */
core->boardnr = UNSET;
if (card[core->nr] < ARRAY_SIZE(cx88_boards))
Expand Down

0 comments on commit fbc0ae2

Please sign in to comment.