@@ -267,19 +267,24 @@ static irqreturn_t netup_unidvb_isr(int irq, void *dev_id)
267
267
if ((reg40 & AVL_IRQ_ASSERTED ) != 0 ) {
268
268
/* IRQ is being signaled */
269
269
reg_isr = readw (ndev -> bmmio0 + REG_ISR );
270
- if (reg_isr & NETUP_UNIDVB_IRQ_I2C0 ) {
271
- iret = netup_i2c_interrupt (& ndev -> i2c [0 ]);
272
- } else if (reg_isr & NETUP_UNIDVB_IRQ_I2C1 ) {
273
- iret = netup_i2c_interrupt (& ndev -> i2c [1 ]);
274
- } else if (reg_isr & NETUP_UNIDVB_IRQ_SPI ) {
270
+ if (reg_isr & NETUP_UNIDVB_IRQ_SPI )
275
271
iret = netup_spi_interrupt (ndev -> spi );
276
- } else if (reg_isr & NETUP_UNIDVB_IRQ_DMA1 ) {
277
- iret = netup_dma_interrupt (& ndev -> dma [0 ]);
278
- } else if (reg_isr & NETUP_UNIDVB_IRQ_DMA2 ) {
279
- iret = netup_dma_interrupt (& ndev -> dma [1 ]);
280
- } else if (reg_isr & NETUP_UNIDVB_IRQ_CI ) {
281
- iret = netup_ci_interrupt (ndev );
272
+ else if (!ndev -> old_fw ) {
273
+ if (reg_isr & NETUP_UNIDVB_IRQ_I2C0 ) {
274
+ iret = netup_i2c_interrupt (& ndev -> i2c [0 ]);
275
+ } else if (reg_isr & NETUP_UNIDVB_IRQ_I2C1 ) {
276
+ iret = netup_i2c_interrupt (& ndev -> i2c [1 ]);
277
+ } else if (reg_isr & NETUP_UNIDVB_IRQ_DMA1 ) {
278
+ iret = netup_dma_interrupt (& ndev -> dma [0 ]);
279
+ } else if (reg_isr & NETUP_UNIDVB_IRQ_DMA2 ) {
280
+ iret = netup_dma_interrupt (& ndev -> dma [1 ]);
281
+ } else if (reg_isr & NETUP_UNIDVB_IRQ_CI ) {
282
+ iret = netup_ci_interrupt (ndev );
283
+ } else {
284
+ goto err ;
285
+ }
282
286
} else {
287
+ err :
283
288
dev_err (& pci_dev -> dev ,
284
289
"%s(): unknown interrupt 0x%x\n" ,
285
290
__func__ , reg_isr );
0 commit comments