I have made more tests between a Libretto 100
(toshoboe or danauboe) and a Libretto 50 (irtty),
both running with kernel 2.4.0-test12-pre3.
I have always ": rx fifo overflow" when the other side is started
I have a problem that I cannot explain:
with 1.91 I can start the passive ppp on either side
and then start the point-to-point ppp on the other side;
with 2.12 the passive ppp must be started on the irtty side
and then the point-to-point ppp on the toshoboe side.

1) I have renamed 2.12 driver "donauboe"
So, I have the 2 drivers:
  toshoboe = version 1.91
which is always the reference for ONETASK mode
  donauboe = version 2.12
And I think it would be easier to put a new driver in "Linus"
kernel tree than to submit a patch bigger than the source.

2) self->ring->tx[self->txs].len = len & 0x0fff;
Is it correct to manage length modulo 4k?
Or to return an error if length>4k
Or to return an error if length>TX_LEN

The length is checked by an assert in async_wrap_skb

3) Standard RX/TX_LEN was 8k in 1.91
now 512 bytes. It is too short for nfs,
that uses generally 1k.


4)    self->ring->rx[self->rxs].len = 0x0;
= re-init rx-ring after rx interrupt.

      self->ring->rx[i].len = TX_LEN; (it is not RX_LEN)
init rx-ring in toshoboe_initring

I have updated, but do not see any change
What is the correct init or re-init ?

5) mtt block is not the last. Don't put OBOE_CTL_TX_RTCENTX
that is a beginning for optimization.
   mtt block makes tx busy, so cannot sent if ONETASK

6) I want to submit you my patches.

donau.diff.gz

Reply via email to