[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