svn commit: r195534 - in head: etc/mtree include lib/libcam sbin/camcontrol share/man/man4 sys/cam sys/cam/ata sys/cam/scsi sys/conf sys/dev/advansys sys/dev/ahci sys/dev/aic7xxx sys/dev/amd sys/de...

Paul B. Mahol onemda at gmail.com
Sat Jul 11 17:30:59 UTC 2009


On 7/11/09, Paul B. Mahol <onemda at gmail.com> wrote:
> This one breaks cam.ko for me.
> I can't load cam any more. I can't load ahci.ko
> If I try to use umass it will panic system(obviously because cam is
> never loaded in kernel)

It is loaded (somehow in bad shape) but not reported via kldstat.

> Well that is another bug because umass should not be loaded at first place.

db:0:kdb.enter.unknown>  bt
Tracing pid 33066 tid 100081 td 0xc41d3d80
malloc_type_zone_allocated(c108ca80,0,1,0,c41bea0c,...) at
malloc_type_zone_allocated+0x31
malloc(3c,c43c20c4,1,c41bea0c,c3be9b18,...) at malloc+0xfd
cam_devq_alloc(0,1,c3be9b64,c444ec2d,1,...) at cam_devq_alloc+0x23
cam_simq_alloc(1,3e8,c41bea8c,c44529c0,9,...) at cam_simq_alloc+0x19
umass_attach(c45dda00,c450905c,c064d8a8,c0621520,80000000,...) at
umass_attach+0x323
device_attach(c45dda00,4,c0621469,9f1) at device_attach+0x36a
device_probe_and_attach(c45dda00,c3be9c18,ffffffff,c3e28800,0,...) at
device_probe_and_attach+0x53
usb_probe_and_attach_sub(c3e28800,0,c447461b,4d8,7373614d,...) at
usb_probe_and_attach_sub+0x71
usb_probe_and_attach(c3e28800,ff,c3f79800,1,5,...) at usb_probe_and_attach+0x146
uhub_explore(c3f79800,0,c4473a37,e0,c451cd34,...) at uhub_explore+0x4c9
usb_bus_explore(c451cd34,c451cdac,c4475dee,67,c0692640,...) at
usb_bus_explore+0xb3
usb_process(c451ccd4,c3be9d38,c061a053,342,c4373aa0,...) at usb_process+0xda
fork_exit(c446cff9,c451ccd4,c3be9d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
--- trap 0, eip = 0, esp = 0xc3be9d70, ebp = 0 ---

> When trying to load cam.ko nothing verbose is displayed, just this:
>
> module_register: module probe already exists!
> Module probe failed to register: 17

Argh, it's so obvious, it doesnt get loaded because module probe is
used twice with
PERIPHDRIVER_DECLARE(probe, ...) in scsi_xpt.c and ata_xpt.c

If I load cam from loader it works fine.
I was attempting to fix this "probe" issue already but I give up
because I did not get any results(maybe because cam.ko was really already
"loaded"?)

Now one nasty question: Is there any plan to make cam.ko unloadable?

-- 
Paul


More information about the svn-src-all mailing list