DM9000驱动在友善mini2440开发板上加载成功,但启动设备时出现 WARNING: no IRQ resource flags set.
NET: Registered protocol family 1
NetWinder Floating Point Emulator V0.97 (extended precision)
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
msgmni has been set to 118
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Console: switching to colour frame buffer device 30x40
fb0: s3c2410fb frame buffer device
lp: driver loaded but no devices found
ppdev: user-space parallel port driver
Serial: 8250/16550 driver4 ports, IRQ sharing enabled
s3c2440-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
loop: module loaded
DM9000 Ethernet Driver, V1.31
gpfcon:95aa
extint0:2222222
intmsk:6d7e3d8f
eintmask:80
eth0: dm9000e at c485e300,c4860304 IRQ 51 MAC: 00:14:22:b5:29:11 (chip)
usbcore: registered new interface driver rt73usb
Uniform Multi-Platform E-IDE driver
Driver 'sd' needs updating - please use bus_type methods
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c2440-nand s3c2440-nand: Tacls=1, 9ns Twrph0=4 39ns, Twrph1=1 9ns
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit
)
NAND_ECC_NONE selected by board driver. This is not recommended !!
Scanning device for bad blocks
Bad eraseblock 2305 at 0x02404000
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":
0x00000000-0x00030000 : "bootloader"
0x00050000-0x00250000 : "kernel"
0x00250000-0x03ffc000 : "root"
usbmon: debugfs is not available
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
usbserial: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
usbserial: USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2440-i2c s3c2440-i2c: slave address 0x10
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 148K
Processing etc/init.d/rcS
mount all
copy /sbin to /tmp ,because it can write
Set some environmet variable
Processing /etc/profile...
Set search library path
Set user Path
Set PS1
Done
Start mdev
inside module rt2570.ko
rt2570: init
usbcore: registered new interface driver rt2570
*****************************************
RootFS by CramFS ,s3c2440
Created by kevin @ 2008.12.14
*****************************************
Processing /etc/profile...
Set search library path
Set user Path
Set PS1
Done
[root@(none) ~]# ls
bin etc linuxr_ proc sys var
boot home linuxrc root tmp
dev lib mnt sbin usr
[root@(none) ~]#
[root@(none) ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:14:22:B5:29:11
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:51 Base address:0xe300
lo Link encap:Local Loopback
LOOPBACK MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
rausb0 Link encap:Ethernet HWaddr 00:12:17:84:AC:C4
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
[root@(none) ~]# ifconfig eth0 up
gpfcon:95aa
extint0:2222222
intmsk:617e3d8f
eintmsk:80
dm9000 dm9000: WARNING: no IRQ resource flags set.
以上是我终端输出的全部内容
现在有个问题
DM9000驱动在友善mini2440开发板上加载成功,但启动设备时出现 WARNING: no IRQ resource flags set.
我用printk跟踪了下,发现在初使化函数dm9000_probe()里面 就出现个怪现像(最初在这里发现问题)---EINTMASK 的第七位不能置0
也就是说不能enable EINT7 ,可是这个DM9000的INT就是接在EINT7 上了(硬件连线我没法改啊)
这导致后面启用设备时,dm9000_open()调用出现WARNING: no IRQ resource flags set。
[root@(none) ~]# ifconfig eth0 up
gpfcon:95aa
extint0:2222222
intmsk:617e3d8f
eintmsk:80
dm9000 dm9000: WARNING: no IRQ resource flags set.
程序运行到这里就没反映了,过几分钟后会出现下面的错误。我想知道为什么EINTMASK的第七位不能清零(其它位都可以),烦请各位帮帮我。dm9000驱动源码,已经附在后面了
[<c0039740>] (s3c_irq_demux_extint4t7+0x0/0xa8) from [<c002d044>] (asm_do_IRQ+0x
44/0x5c)
r4:c03c2350
[<c002d000>] (asm_do_IRQ+0x0/0x5c) from [<c002d824>] (__irq_svc+0x24/0xa0)
Exception stack(0xc2e2bd98 to 0xc2e2bde0)
bd80: 00000000 fb000000
bda0: 00000001 00000000 c03c2a18 00000033 40000013 00000080 00000033 00000000
bdc0: c39bfc80 c2e2be10 c2e2bdbc c2e2bde0 c007320c c0072748 60000013 ffffffff
r7:00000080 r6:00000010 r5:f4000000 r4:ffffffff
[<c007254c>] (setup_irq+0x0/0x248) from [<c007294c>] (request_irq+0xb0/0xcc)
[<c007289c>] (request_irq+0x0/0xcc) from [<c01a8f40>] (dm9000_open+0x16c/0x23c)
[<c01a8dd4>] (dm9000_open+0x0/0x23c) from [<c024839c>] (dev_open+0xa8/0x10c)
[<c02482f4>] (dev_open+0x0/0x10c) from [<c0248a20>] (dev_change_flags+0x98/0x164
)
r5:00000000 r4:c382b800
[<c0248988>] (dev_change_flags+0x0/0x164) from [<c0284cb8>] (devinet_ioctl+0x2f0
/0x708)
r7:bed9ba88 r6:c39fdf00 r5:00000000 r4:ffffff9d
[<c02849c8>] (devinet_ioctl+0x0/0x708) from [<c0286c1c>] (inet_ioctl+0xc0/0xf4)
[<c0286b5c>] (inet_ioctl+0x0/0xf4) from [<c023ac14>] (sock_ioctl+0x1e4/0x244)
[<c023aa30>] (sock_ioctl+0x0/0x244) from [<c00a4f30>] (vfs_ioctl+0x3c/0x84)
r7:00000003 r6:00008914 r5:ffffffe7 r4:c2d1a420
[<c00a4ef4>] (vfs_ioctl+0x0/0x84) from [<c00a51fc>] (do_vfs_ioctl+0x284/0x2a4)
r6:00000000 r5:bed9ba88 r4:c2d1a420
[<c00a4f78>] (do_vfs_ioctl+0x0/0x2a4) from [<c00a525c>] (sys_ioctl+0x40/0x5c)
r7:00000036 r6:00008914 r5:fffffff7 r4:c2d1a420
[<c00a521c>] (sys_ioctl+0x0/0x5c) from [<c002dc40>] (ret_fast_syscall+0x0/0x2c)
r6:00000000 r5:00159dec r4:00159d5c