[linux-dvb] [BUG] flexcop lockdep

Tim Small tim at buttersideup.com
Mon Apr 23 16:38:20 CEST 2007


I've been using Antti's fix for a while, it seems to be working fine.  
Any chance of getting it pushed into the main repository?

Cheers,

Tim.

>
> Removing of unnecessary spinlock
>
> Based on the discussion on linux-dvb it seems that ISR:s are already
> serialized by the linux kernel and thus drivers won't have to specify
> their own facilities for ISR serialization.
>
> Signed-off-by: Antti Seppälä <ajhseppa at niksula.hut.fi>
>
>
> -- 
> Antti Seppälä
> ------------------------------------------------------------------------
> --- linux/drivers/media/dvb/b2c2/flexcop-pci.c~	2007-04-07 09:44:50.000000000 +0300
> +++ linux/drivers/media/dvb/b2c2/flexcop-pci.c	2007-04-07 09:43:27.000000000 +0300
> @@ -59,8 +59,6 @@
>  	u32 last_dma1_cur_pos; /* position of the pointer last time the timer/packet irq occured */
>  	int count;
>  
> -	spinlock_t irq_lock;
> -
>  	unsigned long last_irq;
>  
>  #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20)
> @@ -143,12 +141,9 @@
>  {
>  	struct flexcop_pci *fc_pci = dev_id;
>  	struct flexcop_device *fc = fc_pci->fc_dev;
> -	unsigned long flags;
>  	flexcop_ibi_value v;
>  	irqreturn_t ret = IRQ_HANDLED;
>  
> -	spin_lock_irqsave(&fc_pci->irq_lock,flags);
> -
>  	v = fc->read_ibi_reg(fc,irq_20c);
>  
>     /* errors */
> @@ -211,8 +206,6 @@
>  		ret = IRQ_NONE;
>  	}
>  
> -	spin_unlock_irqrestore(&fc_pci->irq_lock,flags);
> -
>  	return ret;
>  }
>  
> @@ -310,7 +303,6 @@
>  	}
>  
>  	pci_set_drvdata(fc_pci->pdev, fc_pci);
> -	spin_lock_init(&fc_pci->irq_lock);
>  	if ((ret = request_irq(fc_pci->pdev->irq, flexcop_pci_isr,
>  					IRQF_SHARED, DRIVER_NAME, fc_pci)) != 0)
>  		goto err_pci_iounmap;
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> linux-dvb mailing list
> linux-dvb at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb




More information about the linux-dvb mailing list