Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c71d978 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] saa7164: Check if dev is NULL before dereferencing it



As reported by smatch:
	drivers/media/pci/saa7164/saa7164-core.c:631 saa7164_irq() warn: variable dereferenced before check 'dev' (see line 621)

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
Acked-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@osg.samsung.com>
parent 5a4faee2
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -618,12 +618,7 @@ static irqreturn_t saa7164_irq_ts(struct saa7164_port *port)
static irqreturn_t saa7164_irq(int irq, void *dev_id)
{
	struct saa7164_dev *dev = dev_id;
	struct saa7164_port *porta = &dev->ports[SAA7164_PORT_TS1];
	struct saa7164_port *portb = &dev->ports[SAA7164_PORT_TS2];
	struct saa7164_port *portc = &dev->ports[SAA7164_PORT_ENC1];
	struct saa7164_port *portd = &dev->ports[SAA7164_PORT_ENC2];
	struct saa7164_port *porte = &dev->ports[SAA7164_PORT_VBI1];
	struct saa7164_port *portf = &dev->ports[SAA7164_PORT_VBI2];
	struct saa7164_port *porta, *portb, *portc, *portd, *porte, *portf;

	u32 intid, intstat[INT_SIZE/4];
	int i, handled = 0, bit;
@@ -634,6 +629,13 @@ static irqreturn_t saa7164_irq(int irq, void *dev_id)
		goto out;
	}

	porta = &dev->ports[SAA7164_PORT_TS1];
	portb = &dev->ports[SAA7164_PORT_TS2];
	portc = &dev->ports[SAA7164_PORT_ENC1];
	portd = &dev->ports[SAA7164_PORT_ENC2];
	porte = &dev->ports[SAA7164_PORT_VBI1];
	portf = &dev->ports[SAA7164_PORT_VBI2];

	/* Check that the hardware is accessible. If the status bytes are
	 * 0xFF then the device is not accessible, the the IRQ belongs
	 * to another driver.