Re: [PATCH] new device support for forcedeth.c second try

From: Kalin KOZHUHAROV
Date: Mon Jun 21 2004 - 14:02:06 EST


Carl-Daniel Hailfinger wrote:
Brian Lazara wrote:

-----Original Message-----
From: Manfred Spraul [mailto:manfred@xxxxxxxxxxxxxxxx] Sent: Saturday, June 19, 2004 9:19 AM

Carl-Daniel Hailfinger wrote:

Brian, thank you very much for contributing to forcedeth.

I agree, thanks a lot.

I wasn't the actual contributor, but did help with some of the testing.
We will do some testing on the updates your currently making. At first
glance they look very sensible.


I have attached a new version of forcedeth. It reduces code duplication to
zero and has mostly transparent handling for different versions of RX/TX
descriptor flags and length.

Besides that, the driver should now be mostly endian safe.

We certainly appreciate your work developing forcedeth and will help
maintain forcedeth in the future. Maybe you will be able to remove the
"not endorsed by NVIDIA" in the header. :)

Cool. Please review version 15 of the gigabit patch (attached).

@@ -80,7 +85,7 @@
* DEV_NEED_TIMERIRQ will not harm you on sane hardware, only generating a few
* superfluous timer interrupts from the nic.
*/
-#define FORCEDETH_VERSION "0.25"
+#define FORCEDETH_VERSION "0.28"
#define DRV_NAME "forcedeth"
#include <linux/module.h>

#define DRV_NAME "forcedeth"
is not in stock 2.6.7. With this fixed by hand, everything applied (everything with offset -1 lines).

I run my "time test" again (see my previous posting in "[PATCH 2.6.7 and 2.4.27-pre6] new device support for forcedeth.c" thread form 2004-06-19 for details).
This time, almost no time is lost!
Here it is:

# modprobe -r forcedeth; ntp_check; modprobe forcedeth; ntp_check; dmesg -c; ntp_check; sleep 10; ntp_check
22 Jun 03:48:56 ntpdate[8310]: adjust time server 192.168.1.100 offset 0.000057 sec
22 Jun 03:48:57 ntpdate[8366]: adjust time server 192.168.1.100 offset 0.000057 sec
eth1: phy init failed to autoneg.
eth1: no link during initialization.
eth1: no IPv6 routers present
forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.28.
PCI: Setting latency timer of device 0000:00:04.0 to 64
eth1: forcedeth.c: subsystem: 01043:80a7 bound to 0000:00:04.0
bad: scheduling while atomic!
[<c03222fc>] schedule+0x47c/0x490
[<c013920f>] __get_free_pages+0x1f/0x40
[<c03227a3>] schedule_timeout+0x63/0xc0
[<c0124b10>] process_timeout+0x0/0x10
[<c0124eef>] msleep+0x1f/0x30
[<e1f031b4>] phy_reset+0x64/0xc0 [forcedeth]
[<e1f032a8>] phy_init+0x98/0x320 [forcedeth]
[<e1f04b12>] nv_open+0x282/0x5d0 [forcedeth]
[<c02bc4eb>] dev_open+0xcb/0x100
[<c02c01d4>] dev_mc_upload+0x24/0x50
[<c02bd9f1>] dev_change_flags+0x51/0x120
[<c02bc375>] dev_load+0x25/0x70
[<c02f93c6>] devinet_ioctl+0x246/0x560
[<c02fb8fe>] inet_ioctl+0x5e/0xa0
[<c02b4d09>] sock_ioctl+0xf9/0x2b0
[<c01643fd>] sys_ioctl+0x10d/0x290
[<c0106087>] syscall_call+0x7/0xb

eth1: forcedeth.c: subsystem: 01043:80a7 bound to 0000:00:04.0
22 Jun 03:48:57 ntpdate[8406]: adjust time server 192.168.1.100 offset 0.000056 sec
22 Jun 03:49:07 ntpdate[8436]: adjust time server 192.168.1.100 offset 0.000067 sec

This time the trace is reproducible every time. This patch and the kmsgdump patch are the only ones applied to a stock 2.6.7
Plugging a proper cable, just hides the three lines /^eth1:/

Please tell me if I can do something else to help debugging.

Kalin.

--
||///_ o *****************************
||//'_/> WWW: http://ThinRope.net/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/