Re: [Fwd: VIA Rhine Driver Bug]

From: Urban Widmark (urban@svenskatest.se)
Date: Sat May 13 2000 - 17:48:21 EDT

  • Next message: Lee Chin: "cant get networking to work on 2.3.99 on slow PC"

    (Forwarding as an attachment makes it a pain (for me at least) to reply
    properly. The text below has been cut-'n-pasted and hand edited to
    separate your questions to Donald, his respons and my response. I hope it
    didn't become too incorrect/wierd.)

    > > I have some sort of an Acer network card with a VIA Rhine chip on it.
    > > lspci identifies it as follows:
    > >
    > > 00:0b.0 Ethernet controller: VIA Technologies, Inc. VT86C100A [Rhine
    > > 10/100] (rev 06)

    > > I'm currently using it quite happily on kernel 2.3.38, which detects it
    > > as follows (during boot):
    > >
    > > via-rhine.c:v1.01 2/27/99 Written by Donald Becker
    > > http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html
    >
    > That's a slightly older version, but there have been only two minor
    > updates since.

    Actually v1.01 can be more than one thing since changes used to be
    made without also modifying the version number. :(
    At least the following 2.3's have modifications without being marked as
    changed:
      2.3.19
      2.3.26
      2.3.43
      2.3.45
      2.3.46
      2.3.47

    Even though the changes are small it is of course wrong to not increase
    the version number to keep them apart. Or at least mark them as changed
    compared to Donald's v1.01.

    > > However, when I try to use any more recent kernel, I get the following
    > > (during boot):
    > >
    > > via-rhine.c:v1.01 2/27/99 Written by Donald Becker
    > > http://cesdis.gsfc.nasa.gov/linux/drivers/via-rhine.html

    2.3.50 is the first version with major changes compared to Donald's
    version, but that one presents itself as:
    via-rhine.c:v1.01-LK1.1.1 3/2/2000 ...

    What kernel version(s) are you using that causes these problems?

    > > And the following error immediately when the first network interaction
    > > is attempted:
    > > eth0: Oversized Ethernet frame spanned multiple buffers, entry 0x1
    > > length 0 status 00000000!
    > > eth0: Oversized Ethernet frame cf74a010 vs
    > > cf74a010.
    >
    > This was a bug introduced by unchecked changes being put into the driver.
    > You should report this on linux-kernel@vger.rutgers.edu.

    I think Donald is exaggerating in calling the changes unchecked. The
    changes were not tested as much as (I have understood that) Donald likes
    to do before suggesting that they are included in a development kernel.
    That does not mean that they are not tested at all.

    Changes should not be made this way to a stable kernel, but to me (and
    obviously to others, since my words carry little weight around here) they
    are ok for testing in a development kernel.

    2.3.99-pre3 contains a few changes I made to make the via-rhine support
    the PCI DMA interface that was added to the 2.3 series. However it turned
    out that gcc 2.95.2 can not compile the via-rhine driver in pre3 - pre5
    properly. This caused the ring buffer to not being properly initialized,
    and that in turn caused an error that the driver reports as an "Oversized
    Ethernet frame".

    For 2.3.99-pre6 that part of the code was modified so that (even) gcc
    2.95.2 would compile it correctly. However, judging from your report above
    you can't be using the pre3 - pre5 version, since that one calls itself
    "via-rhine.c:v1.03a-LK1.1.3" (1.03a-LK... since it includes most of
    Donald's 1.03a).

    So again, which kernel versions are you having problems with?

    And also, which compiler are you using?

    /Urban

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Sat May 13 2000 - 17:50:52 EDT