[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