V4L/DVB (11244): pluto2: silence spew of card hung up messages
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Thu, 26 Mar 2009 20:47:48 +0000 (17:47 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 30 Mar 2009 15:43:43 +0000 (12:43 -0300)
If the card is ejected on some systems you get a spew of messages as other
shared IRQ devices interrupt between the card eject and the card IRQ
disable.

We don't need to spew them all out

Closes #7472

Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/pluto2/pluto2.c

index d101b304e9b0e7348614ec4ec2c8d28e15a31317..ee89623be85aa32a3a749c1e00217efd9d2d4bcb 100644 (file)
@@ -116,6 +116,7 @@ struct pluto {
 
        /* irq */
        unsigned int overflow;
+       unsigned int dead;
 
        /* dma */
        dma_addr_t dma_addr;
@@ -336,8 +337,10 @@ static irqreturn_t pluto_irq(int irq, void *dev_id)
                return IRQ_NONE;
 
        if (tscr == 0xffffffff) {
-               // FIXME: maybe recover somehow
-               dev_err(&pluto->pdev->dev, "card hung up :(\n");
+               if (pluto->dead == 0)
+                       dev_err(&pluto->pdev->dev, "card has hung or been ejected.\n");
+               /* It's dead Jim */
+               pluto->dead = 1;
                return IRQ_HANDLED;
        }