thzhr2009 发表于 2013-07-13 11:23

USB device驱动加载不成功

cpu:s3c2416
kernel:2.6.21
在加载USB DEVICE驱动g_file_storage.ko出错,消息如下:
# insmod g_file_storage.ko file=fat32.img stall=0 re
movable=1
usb_gadget_register_driver: g_file_storage
s3c_alloc_request: c0448ecc
s3c_alloc_buffer (c0448ecc, 256, 208)
s3c_alloc_buffer (c0448f3c, 16384, 208)
s3c_alloc_buffer (c0448f3c, 16384, 208)
g_file_storage gadget: File-backed Storage Gadget, version: 28 November 2005
g_file_storage gadget: Number of LUNs=1
g_file_storage gadget-lun0: ro=0, file: /driver_test/fat32.img
Registered S3C gadget driver 'g_file_storage'
udc_enable: c0448d60
Unable to handle kernel paging request at virtual address 49800014
pgd = c390c000
*pgd=00000000
Internal error: Oops: 805 [#1]
Modules linked in: g_file_storage
CPU: 0
PC is at reconfig_usbd+0x14/0x60
LR is at usb_gadget_register_driver+0x1c8/0x22c
pc : [<c01d774c>]    lr : [<c01d90d0>]    Not tainted
sp : c38c5ea8ip : c38c5eb8fp : c38c5eb4
r10: c481e000r9 : 00000026r8 : 00000000
r7 : c0448d80r6 : c0448d60r5 : f0200000r4 : f0000000
r3 : 00000004r2 : 49800000r1 : 00000001r0 : 00000000
Flags: nZCvIRQs onFIQs onMode SVC_32Segment user
Control: 5317F
Table: 3390C000DAC: 00000015
Process insmod (pid: 845, stack limit = 0xc38c4258)
Stack: (0xc38c5ea8 to 0xc38c6000)
5ea0:                   c38c5edc c38c5eb8 c01d90d0 c01d7748 c38c5ee4 c3917600
5ec0: c3917610 bf005d00 c39179f0 00000026 c38c5ef4 c38c5ee0 bf007064 c01d8f18
5ee0: c39179c4 c3917800 c38c5fa4 c38c5ef8 c0072b48 bf007010 00000000 c38c5f08
5f00: c00ab770 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5f20: 00000000 00000000 00000000 00000000 00000000 0000000a c4853a38 c3fe01e0
5f40: 00000000 c4844978 c4844608 00000009 00000000 0000010b 0000010b c484428e
5f60: c48449c8 bf005d0c c48449a0 00000024 00000000 00000000 c38d3da0 4001df68
5f80: 000b50d8 bed9bd34 00000080 c003ae28 c38c4000 00000000 00000000 c38c5fa8
5fa0: c003ac80 c0071920 4001df68 000b50d8 40239008 000363b8 000b50d8 00000000
5fc0: 4001df68 000b50d8 bed9bd34 00000080 bed9bd24 bed9bd28 00000001 00000000
5fe0: 00000069 bed9b9f4 0001778c 401d3c24 60000010 40239008 00000000 00000000
Backtrace:
[<c01d7738>] (reconfig_usbd+0x0/0x60) from [<c01d90d0>] (usb_gadget_register_driver+0x1c8/0x22c)
[<c01d8f08>] (usb_gadget_register_driver+0x0/0x22c) from [<bf007064>] (fsg_init+0x64/0x98 )
r8 = 00000026r7 = C39179F0r6 = BF005D00r5 = C3917610
r4 = C3917600
[<bf007000>] (fsg_init+0x0/0x98 ) from [<c0072b48>] (sys_init_module+0x1238/0x12f0)
r5 = C3917800r4 = C39179C4
[<c0071910>] (sys_init_module+0x0/0x12f0) from [<c003ac80>] (ret_fast_syscall+0x0/0x2c)
Code: e92dd800 e24cb004 e59f2044 e3a03004 (e5823014)
Segmentation fault
请问这个怎么回事,坐等高手指教。

thzhr2009 发表于 2013-07-15 16:59

通过objdump反汇编定位到错误

怎么又是这样啊 发表于 2013-07-17 20:39

俺是路过看看滴!

lelee007 发表于 2013-07-21 23:28

Unable to handle kernel paging request at virtual address 49800014

这个地址是用户态地址,LZ这个错误的原因应该是在内核直接操作用户态内存地址,而操作时该内存地址所在page刚好处于缺页状态,导致内核异常挂死
页: [1]
查看完整版本: USB device驱动加载不成功