[linux-dvb] pluto2 patch

Andreas Oberritter obi at linuxtv.org
Tue Sep 13 14:49:45 CEST 2005


On Mon, 2005-09-12 at 20:14 +0200, Michal Semler wrote:
> > > --- /usr/src/linux/drivers/media/dvb/pluto2/pluto2.c    2005-09-11
> > > 14:09:19.000000000 +0200
> > > +++ /usr/src/linux/drivers/media/dvb/pluto2/pluto2.c    2005-09-11
> > > 14:10:17.000000000 +0200
> > > @@ -291,8 +291,8 @@
> > >                         i += 188;
> > >                 valid = i / 188;
> > >                 if (nbpackets != valid) {
> > > -                       dev_err(&pluto->pdev->dev, "nbpackets=%u
> > > valid=%u\n", -                                       nbpackets, valid);
> > > +       /*              dev_err(&pluto->pdev->dev, "nbpackets=%u
> > > valid=%u\n", +                                       nbpackets, valid);
> > > */
> > >                         nbpackets = valid;
> > >                 }
> > >         }
> > >
> > > Thanks for applying!
> >
> > Maybe Andreas can comment on this, but commenting out error messages
> > doesn't make the error go away.
> > Can you post some of these messages so we can see the nbpackets and
> > valid numbers?
> 
> yup, but before this code, there is a FIXME...so there is no clue

There is no "FIXME" in this part of the code.

>  and this 
> problem causes laptop constantly writing to hdd (about 30 MB/evening)
> At this time I prefer remove it or just make it available only in DEBUG mode.

Actually I don't care that much, so I will remove it to save your disk
space. ;)

> I don't have card here now, but error I getts is something like
> nbpackets=-1 valid=0

nbpackets is an unsigned variable. I think it was always nbpackets=0
valid=1, because the FPGA doesn't recognize that it transfered a single
packet.

> > > There is another bug when card is removed, driver says card hung many
> > > times. This part of code is responsible for it:
> > >
> > >         if (tscr == 0xffffffff) {
> > >                 // FIXME: maybe recover somehow
> > >                 dev_err(&pluto->pdev->dev, "card hung up :(\n");
> > >                 return IRQ_HANDLED;
> > >
> > > There should be probably
> > > 		if (tscr == 0xffffffff) && !pcmcia_card_removed
> > > to fix this.
> > >
> > > Do anybody know exact name of this funtion in pcmcia code?
> >
> > You mean you get this message once everytime you remove the card
> > while it is still active?
> 
> Yes, when removing card from slot doesn't metter if I watch TV or not (card is 
> only present in system). In that case I think there needs to be this check if 
> card is removed from slot or not, because this error makes sense only when 
> card is used and is in the pcmcia slot present.

Removing the card causes pluto2_remove to be called. Maybe you can avoid
the bogus irqs by calling free_irq earlier in this function.

Regards,
Andreas




More information about the linux-dvb mailing list