K?ri Dav??sson wrote: > Hello, > > I am hitting the following code (i.e. the printk() is reached) in the > interrupt handler for the ethernet on a custom 823e board in > arch/ppc/8xx_io/enet.c > > /* Check for receive busy, i.e. packets coming but no place to > * put them. This "can't happen" because the receive interrupt > * is tossing previous frames. > */ > if (int_events & SCCE_ENET_BSY) { > cep->stats.rx_dropped++; > printk("CPM ENET: BSY can't happen.\n"); > } > > Clearly this can happen, even though the comment sais otherwise. > This happens for a "high" datarate sunrpc interface operating over TCP/IP.
As far as I remember "BSY" in an 8xx SCC means that no more receive buffers are available. This happens when the driver software isn't fast enough to return currently received buffers to the SCC. This can occur when too few buffers are allocated or at very high data rates. > > Is it safe to ignore this "error" or is it a real bug that should be > investigated? I don't know the current version of the enet driver but I think it's "save" to ignore that message but you should check why that occurs. You can increase the number of buffers allocated for the rx part of that particular SCC. > > I am a litle unclear on the ethernet operation in whole. This has nothing to do with ethernet directly! Only a received ethernet packet cannot be stored. Higher protocols (f.e. TCP) should resend the missing data! rgs Reinhard -- ---------------------------------------------------- Reinhard Schwillinsky Tel.: ++43/1/205 255/210 Maxxio technologies GmbH Fax.: ++43/1/205 255/900 Prinz Eugen Strasse 8 A-1040 Vienna/Austria ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/