sparc64: Oops in pci_alloc_consistent with cingergyT2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
when loading the cinergyT2 module I see the following Oops on sparc64:

usb 3-2: new high speed USB device using ehci_hcd and address 4
Unable to handle kernel NULL pointer dereference
tsk->{mm,active_mm}->context = 0000000000000318
tsk->{mm,active_mm}->pgd = fffff800015c0000
              \|/ ____ \|/
              "@'/ .. \`@"
              /_| \__/ |_\
                 \__U_/
modprobe(20322): Oops [#1]
TSTATE: 0000004411009603 TPC: 0000000000423568 TNPC: 000000000042356c Y: 00000000    Not tainted
TPC: <pci_alloc_consistent+0x68/0x1a0>
g0: fffff8000225f5a0 g1: 0000000000000000 g2: 00000000b6db6db7 g3: 0000000000000000
g4: fffff80013b1d0a0 g5: 0000000000000000 g6: fffff8000225c000 g7: 0000000000000000
o0: fffff80004660000 o1: 0000000000000000 o2: 0000000000000000 o3: fffff80004660000
o4: 0000000000000000 o5: fffff80013f43810 sp: fffff8000225ee41 ret_pc: 0000000000423560
RPC: <pci_alloc_consistent+0x60/0x1a0>
l0: 0000000000000001 l1: fffff80004660000 l2: 0000000000000000 l3: 0000000000000001
l4: 0000000000000000 l5: 0000000000002000 l6: 0000000000000000 l7: 0000000070195298
i0: 0000000000000000 i1: 0000000000004000 i2: fffff80005dd0508 i3: 00000000efa01501
i4: fffff8000225c000 i5: 0000000000000002 i6: fffff8000225ef01 i7: 000000000226e3ac
I7: <cinergyt2_alloc_stream_urbs+0xc/0x120 [cinergyT2]>
Caller[000000000226e3ac]: cinergyt2_alloc_stream_urbs+0xc/0x120 [cinergyT2]
Caller[000000000226f364]: cinergyt2_probe+0x84/0x3c0 [cinergyT2]
Caller[000000000200009c]: usb_probe_interface+0x5c/0x80 [usbcore]
Caller[000000000054b7b0]: driver_probe_device+0x30/0xc0
Caller[000000000054b8e8]: __driver_attach+0x28/0x40
Caller[000000000054ae28]: bus_for_each_dev+0x48/0x80
Caller[000000000054b2ec]: bus_add_driver+0x6c/0xe0
Caller[0000000002000194]: usb_register+0x54/0xc0 [usbcore]
Caller[0000000002276008]: cinergyt2_init+0x8/0x80 [cinergyT2]
Caller[00000000004613ac]: sys_init_module+0x14c/0x220
Caller[0000000000410e54]: linux_sparc_syscall32+0x34/0x40
Caller[0000000000012758]: 0x12758
Instruction DUMP: 2b000008  4003a40f  932d5010 <c25ca030> c4584000  f058af10  a9520000  9190200f  b336700d

This is due to the fact that cinergyt2_alloc_stream_urbs calls
pci_alloc_consistent with a NULL argument for the pci dev (it's a USB
device):

cinergyt2->streambuf = pci_alloc_consistent(NULL,
                                              STREAM_URB_COUNT*STREAM_BUF_SIZE,
                                              &cinergyt2->streambuf_dmahandle);

dma_alloc_coherent doesn't seem to be implemented on sparc64, what would
be the right way to tackle this?
Cheers,
 -- Guido
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux