You are not logged in.

#1 2011-05-18 20:44:23

ginoh
Member
Registered: 2011-05-18
Posts: 4

rr174x crash with kernel 2.6.38

I'm having some problems loading rr174x with kernel 2.6.38. The lts-kernel works fine.

Output after loading the driver (sata_mv unloaded and blacklisted):

[  148.077267] rr174x: module license 'Proprietary' taints kernel.
[  148.077273] Disabling lock debugging due to kernel taint
[  148.083371] rr174x:RocketRAID 174x controller driver v2.4 (May 18 2011 21:00:59)
[  148.083406] pci 0000:02:02.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[  148.083550] rr174x:adapter at PCI 2:2:0, IRQ 22
[  148.659898] rr174x:start channel [0,0]
[  148.659987] rr174x:start channel [0,1]
[  148.659987] rr174x:start channel [0,2]
[  148.659987] rr174x:start channel [0,3]
[  148.859997] rr174x:[0 0] Start channel soft reset.
[  148.860019] rr174x:[0 1] Start channel soft reset.
[  148.860039] rr174x:[0 3] Start channel soft reset.
[  149.169987] rr174x:channel [0,0] started successfully
[  149.169987] rr174x:channel [0,1] started successfully
[  149.169987] rr174x:channel [0,3] started successfully
[  164.283331] rr174x:[0 2] Failed to perform channel hard reset.
[  164.315351] scsi6 : rr174x
[  164.315590] BUG: unable to handle kernel NULL pointer dereference at   (null)
[  164.315628] IP: [<f8353f0b>] hpt_queuecommand+0xcb/0xe30 [rr174x]
[  164.315664] *pde = 00000000 
[  164.315675] Oops: 0000 [#1] PREEMPT SMP 
[  164.315692] last sysfs file: /sys/module/scsi_mod/initstate
[  164.315708] Modules linked in: rr174x(P+) ipv6 ext2 xfs exportfs joydev usbhid hid nouveau ttm drm_kms_helper drm snd_seq_dummy snd_emu10k1 snd_seq_oss snd_intel8x0 snd_seq_midi_event snd_seq snd_rawmidi snd_pcm_oss snd_ac97_codec ohci_hcd uhci_hcd ac97_bus snd_seq_device snd_mixer_oss ppdev emu10k1_gp i2c_algo_bit snd_util_mem e100 snd_pcm gameport video mii snd_hwdep ehci_hcd intel_agp i2c_i801 snd_timer usbcore psmouse lp parport_pc intel_gtt floppy shpchp processor sg i2c_core button snd pcspkr serio_raw pci_hotplug parport agpgart soundcore evdev snd_page_alloc iTCO_wdt iTCO_vendor_support ext4 mbcache jbd2 crc16 raid1 md_mod sd_mod pata_acpi ata_piix libata scsi_mod dm_mod [last unloaded: sata_mv]
[  164.316015] 
[  164.316023] Pid: 1354, comm: modprobe Tainted: P            2.6.38-ARCH #1    /8PE667U 
[  164.316055] EIP: 0060:[<f8353f0b>] EFLAGS: 00010202 CPU: 0
[  164.316078] EIP is at hpt_queuecommand+0xcb/0xe30 [rr174x]
[  164.316093] EAX: 00000000 EBX: ebfa4300 ECX: ebadcf58 EDX: ebea0088
[  164.316109] ESI: ebea007c EDI: ebea0000 EBP: f5249bb4 ESP: f5249b48
[  164.316125]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
[  164.316140] Process modprobe (pid: 1354, ti=f5248000 task=f50b33c0 task.ti=f5248000)
[  164.316158] Stack:
[  164.316165]  ebfa4334 00000000 f5249b68 f8066bd8 00000020 f8067ed0 ebfa4300 00000000
[  164.316201]  ebadce00 f5fa6000 c155a900 f5249b8c c1051e06 c155a900 f52a5734 f52a5734
[  164.316236]  00000086 f5249bb8 c10523fe 00000000 f80681ca c155a900 f52a54c8 86c67f22
[  164.316272] Call Trace:
[  164.316294]  [<f8066bd8>] ? scsi_init_sgtable+0x48/0x80 [scsi_mod]
[  164.316321]  [<f8067ed0>] ? scsi_sg_alloc+0x0/0x50 [scsi_mod]
[  164.316343]  [<c1051e06>] ? lock_timer_base.isra.31+0x26/0x50
[  164.316360]  [<c10523fe>] ? mod_timer+0x10e/0x2c0
[  164.316383]  [<f80681ca>] ? scsi_prep_fn+0x2a/0x50 [scsi_mod]
[  164.316410]  [<f806237d>] scsi_dispatch_cmd+0x9d/0x250 [scsi_mod]
[  164.316430]  [<c1193c37>] ? blk_add_timer+0xa7/0xb0
[  164.316455]  [<f8067dbd>] scsi_request_fn+0x2dd/0x3a0 [scsi_mod]
[  164.316472]  [<c1051fd3>] ? del_timer+0x63/0xf0
[  164.316488]  [<c118f317>] ? blk_plug_device+0x67/0x120
[  164.316504]  [<c118f61b>] __generic_unplug_device+0x2b/0x30
[  164.316520]  [<c1192d69>] blk_execute_rq_nowait+0x59/0x90
[  164.316536]  [<c1192e12>] blk_execute_rq+0x72/0x100
[  164.316550]  [<c1192ce0>] ? blk_end_sync_rq+0x0/0x30
[  164.316565]  [<c119306d>] ? blk_recount_segments+0x1d/0x40
[  164.316582]  [<c118fcec>] ? blk_rq_bio_prep+0x6c/0x80
[  164.316597]  [<c1192a4e>] ? blk_rq_map_kern+0xbe/0x130
[  164.316621]  [<f8066ef4>] scsi_execute+0xd4/0x120 [scsi_mod]
[  164.316647]  [<f8066fc0>] scsi_execute_req+0x80/0x100 [scsi_mod]
[  164.316673]  [<f8069668>] scsi_probe_and_add_lun+0x1a8/0x8f0 [scsi_mod]
[  164.316693]  [<c1244c32>] ? attribute_container_add_device+0xf2/0x150
[  164.316713]  [<c1240024>] ? __sysdev_resume+0x64/0xd0
[  164.316737]  [<f8069fea>] __scsi_scan_target+0xea/0x5c0 [scsi_mod]
[  164.316756]  [<c11a2dfd>] ? ida_get_new_above+0x1ad/0x230
[  164.316773]  [<c11a332b>] ? idr_pre_get+0x4b/0x80
[  164.316787]  [<c11a2e8c>] ? ida_get_new+0xc/0x10
[  164.316809]  [<f806a510>] scsi_scan_channel.part.7+0x50/0x70 [scsi_mod]
[  164.316836]  [<f806a83b>] scsi_scan_host_selected+0x11b/0x140 [scsi_mod]
[  164.316863]  [<f806a8d7>] do_scsi_scan_host+0x77/0x80 [scsi_mod]
[  164.316889]  [<f806ab9e>] scsi_scan_host+0x17e/0x1d0 [scsi_mod]
[  164.316920]  [<f804c094>] init_this_scsi_driver+0x94/0xdb [rr174x]
[  164.316938]  [<c1001130>] do_one_initcall+0x30/0x170
[  164.316964]  [<f804c000>] ? init_this_scsi_driver+0x0/0xdb [rr174x]
[  164.316985]  [<c107a583>] sys_init_module+0xe03/0x1a20
[  164.317017]  [<c10037df>] sysenter_do_call+0x12/0x28
[  164.317030] Code: 60 5b 5e 5f 5d c3 66 90 8b 50 48 89 f0 e8 7e c5 00 00 85 c0 89 45 b4 74 2e f6 80 4c 01 00 00 01 74 25 8b 45 b8 8b 40 30 89 45 b0 <0f> b6 00 3c a1 76 2a 8b 45 b8 8b 50 5c c7 80 8c 00 00 00 00 00 
[  164.317242] EIP: [<f8353f0b>] hpt_queuecommand+0xcb/0xe30 [rr174x] SS:ESP 0068:f5249b48
[  164.317280] CR2: 0000000000000000
[  164.324412] ---[ end trace 486233d2f4284e3a ]---

I have fixed some compile errors in the source (downloaded from http://www.highpoint-tech.com/USA_new/p … tm#rr1700) of rr174x see patch :

diff -crB -x '*.ko' -x '*~' -x .build /tmp/rr174x-linux-src-v2.4//osm/linux/os_linux.c /home/gino/rr174x-linux-src-v2.4//osm/linux/os_linux.c
*** /tmp/rr174x-linux-src-v2.4//osm/linux/os_linux.c    2009-10-09 08:34:41.000000000 +0200
--- /home/gino/rr174x-linux-src-v2.4//osm/linux/os_linux.c    2011-05-18 21:06:31.903168240 +0200
***************
*** 259,265 ****
                  for (minor=0; minor<=240; minor+=16) {
                      struct block_device *bdev = bdget(MKDEV(major[i], minor));
                      if (bdev &&
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
                          blkdev_get(bdev, FMODE_READ)
  #else 
                          blkdev_get(bdev, FMODE_READ, 0 __BDEV_RAW)
--- 259,267 ----
                  for (minor=0; minor<=240; minor+=16) {
                      struct block_device *bdev = bdget(MKDEV(major[i], minor));
                      if (bdev &&
! #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
!             blkdev_get(bdev, FMODE_READ, NULL)
! #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,28)
                          blkdev_get(bdev, FMODE_READ)
  #else 
                          blkdev_get(bdev, FMODE_READ, 0 __BDEV_RAW)
diff -crB -x '*.ko' -x '*~' -x .build /tmp/rr174x-linux-src-v2.4//osm/linux/osm_linux.h /home/gino/rr174x-linux-src-v2.4//osm/linux/osm_linux.h
*** /tmp/rr174x-linux-src-v2.4//osm/linux/osm_linux.h    2009-10-09 08:34:41.000000000 +0200
--- /home/gino/rr174x-linux-src-v2.4//osm/linux/osm_linux.h    2011-05-18 21:06:31.903168240 +0200
***************
*** 8,18 ****
  
  /* system headers */
  
  #ifndef AUTOCONF_INCLUDED
  #include <linux/config.h>
  #endif
! 
! #include <linux/version.h>
  
  #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) && defined(MODVERSIONS)
  #include <linux/modversions.h>
--- 8,20 ----
  
  /* system headers */
  
+ #include <linux/version.h>
+ 
  #ifndef AUTOCONF_INCLUDED
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38)
  #include <linux/config.h>
  #endif
! #endif
  
  #if (LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)) && defined(MODVERSIONS)
  #include <linux/modversions.h>

Last edited by ginoh (2011-05-18 20:49:32)

Offline

#2 2011-07-29 09:37:42

sebastianhanschke
Member
Registered: 2011-07-29
Posts: 2

Re: rr174x crash with kernel 2.6.38

Hey Ginoh,

did you solve your problem? I'm trying to build the driver on Ubuntu with kernel 2.6.38-10-generic-pae. Unfortunately neither the clean source nor your patch seem to work.

Make install gives:

root@server:/home/sebastianhanschke/rr174x/rr174x-linux-src-v2.4/product/rr1740pm/linux# make install
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-10-generic-pae'
  CC [M]  /home/sebastianhanschke/rr174x/rr174x-linux-src-v2.4/product/rr1740pm/linux/.build/os_linux.o
/home/sebastianhanschke/rr174x/rr174x-linux-src-v2.4/product/rr1740pm/linux/.build/os_linux.c: In function ‘refresh_sd_flags’:
/home/sebastianhanschke/rr174x/rr174x-linux-src-v2.4/product/rr1740pm/linux/.build/os_linux.c:263:7: error: too few arguments to function ‘blkdev_get’
include/linux/fs.h:2055:12: note: declared here
make[2]: *** [/home/sebastianhanschke/rr174x/rr174x-linux-src-v2.4/product/rr1740pm/linux/.build/os_linux.o] Error 1
make[1]: *** [_module_/home/sebastianhanschke/rr174x/rr174x-linux-src-v2.4/product/rr1740pm/linux/.build] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-10-generic-pae'
make: *** [rr174x.ko] Error 2
 

Any ideas/suggestions?

Thanks
Sebastian

Offline

#3 2011-07-29 11:15:31

jelly
Administrator
From: /dev/null
Registered: 2008-06-10
Posts: 714

Re: rr174x crash with kernel 2.6.38

Why didn't you try .39? or 3.0?

Offline

#4 2011-07-29 12:03:47

sebastianhanschke
Member
Registered: 2011-07-29
Posts: 2

Re: rr174x crash with kernel 2.6.38

I actually don't want to replace my kernel if I don't have to. Ubuntu 11.04 is currently running .38 (I know that this is the archlinux board, but Ginoh's post looked quite promising to me), that's why.

Offline

#5 2011-08-01 16:24:34

ginoh
Member
Registered: 2011-05-18
Posts: 4

Re: rr174x crash with kernel 2.6.38

I will look at the patch this evening, but I only fixed some compile errors. the actual crash is still there (I send the issue to highpoint, but they don't have a solution at this point)
I also tested with vanilla kernel 2.6.39, but it has the same issue as described above. not sure if it crashes in kernel 3.0.

Last edited by ginoh (2011-08-01 16:29:43)

Offline

#6 2011-08-01 19:51:20

ginoh
Member
Registered: 2011-05-18
Posts: 4

Re: rr174x crash with kernel 2.6.38

I verified the patch and it build correctly against .39 (don't have the .38 sources at the moment, but probably works also)
How did you apply it? I used the following command in the root of the rr174x source tree.

patch -p3 -i path/to/the/patch/rr174x-linux-src-v2.4-2.6.38.patch

Offline

Board footer

Powered by FluxBB