Messages in this thread | | | Date | Tue, 25 Jul 2000 21:52:08 -0700 (PDT) | From | Jun Sun <> | Subject | Re: weired NE2K ether problem - help! |
| |
On Tue, 25 Jul 2000, Jun Sun wrote:
> Paul Gortmaker wrote: > In 8390.h you should increase ei_debug from one to 4. Also add a > > > > #define VERBOSE_ERROR_DUMP > > > > which will give you detailed information as to how your packet > > transmission failed. That plus the driver detection messages might > > help me and others shed some more light on the issue. > > > > That is exactly why this problem is so weired: there is no error > message! Anyhow I turned on debugging options as you suggested and here > is the output : > ....
BTW, I believe I have already found one bug in ne2k-pci.c. The bug is in ne2k_pci_block_input() and ne2k_pci_block_output(). The code checks if ONLY_16BIT_IO is set or not. If not, it will try to read/write using 32bit mode, into/from the buffer (skb->data). However, skb->data is NOT aligned along 4-byte boundary (See related sbk_reserve(2) calls in 8390.c). This causes bus error on my MIPS board.
What should be the right fix? I currently use a separate buffer, which is aligned along 4-byte boundary, to copy into/from skb->data to do the IO. Obviously, this is not good.
I also tried to change from skb_reserve(2) skb_reserve(4). That seems to causes some other problem. (OK, I admit I am quite ignorant about ether driver.)
Jun
- 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/
| |