diff options
Diffstat (limited to 'drivers/media/dvb/pluto2/pluto2.c')
-rw-r--r-- | drivers/media/dvb/pluto2/pluto2.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/dvb/pluto2/pluto2.c b/drivers/media/dvb/pluto2/pluto2.c index d101b304e9b0..ee89623be85a 100644 --- a/drivers/media/dvb/pluto2/pluto2.c +++ b/drivers/media/dvb/pluto2/pluto2.c | |||
@@ -116,6 +116,7 @@ struct pluto { | |||
116 | 116 | ||
117 | /* irq */ | 117 | /* irq */ |
118 | unsigned int overflow; | 118 | unsigned int overflow; |
119 | unsigned int dead; | ||
119 | 120 | ||
120 | /* dma */ | 121 | /* dma */ |
121 | dma_addr_t dma_addr; | 122 | dma_addr_t dma_addr; |
@@ -336,8 +337,10 @@ static irqreturn_t pluto_irq(int irq, void *dev_id) | |||
336 | return IRQ_NONE; | 337 | return IRQ_NONE; |
337 | 338 | ||
338 | if (tscr == 0xffffffff) { | 339 | if (tscr == 0xffffffff) { |
339 | // FIXME: maybe recover somehow | 340 | if (pluto->dead == 0) |
340 | dev_err(&pluto->pdev->dev, "card hung up :(\n"); | 341 | dev_err(&pluto->pdev->dev, "card has hung or been ejected.\n"); |
342 | /* It's dead Jim */ | ||
343 | pluto->dead = 1; | ||
341 | return IRQ_HANDLED; | 344 | return IRQ_HANDLED; |
342 | } | 345 | } |
343 | 346 | ||