Re: 2.3.47-pre6 panics aic7xxx near pci_map_single() (direction =PCI_DMA_NONE)

From: Simon Kirby (sim@stormix.com)
Date: Mon Feb 21 2000 - 07:05:12 EST


On Sun, Feb 20, 2000 at 07:22:53PM -0800, David S. Miller wrote:

> Date: Sun, 20 Feb 2000 22:26:00 -0300
> From: Horst von Brand <vonbrand@sleipnir.valparaiso.cl>
>
> > Tried and it still does not work. I.e. it boots but at the
> > attempt to mount a SCSI cdrom it hangs - I can't even press
> > Alt-SySrq-P.
>
> Note I've been having exactly the same trouble with IDE CD and
> 2.3.46. It seems to be due to PIIX tuning or IDE auto DMA. Drive
> works fine with 2.2.x (up to 2.2.15pre9). i686 UP, Red Hat 6.1 +
> binutils-2.9.5.0.27; various compilers tried (egcs-1.1.2-24 (RH),
> gcc-2.95.2, late egcs snapshots)
>
> I don't think the bug is someone in my area any more.
>
> If there were a bug in the PCI mapping changes, it would
> just BUG_TRAP on you and give a dump, not lockup.
>
> Could you kindly remove me from the CC: list until there is
> evidence to suggest that I need to get involved again? Thanks.

I'm seeing it here (SMP) with a backtrace but then a lockup afterwards
which looks like a spin_lock got left locked somewhere. aic7xxx, SCSI
CD-RW. 2.3.47pre7.

kernel BUG at /d/linux/include/asm/pci.h:58!

...Which comes from here:

extern inline dma_addr_t pci_map_single(struct pci_dev *hwdev, void *ptr,
                                        size_t size, int direction)
{
        if (direction == PCI_DMA_NONE)
                BUG();
        return virt_to_bus(ptr);
}

Then,

invalid operand: 0000
CPU: 0
EIP: 0010:[<c024ac2c>]
EFLAGS: 00010086
eax: 0000002d ebx: 00000000 ecx: 00000005 edx: c02b78fc
esi: c7f99000 edi: c7f97c0c ebp: c7f9c000 esp: c6551960
ds: 0018 es: 0018 ss: 0018
Process cdrwtool (pid: 528, stackpage=c6551000)
Stack: c029ec05 c029ecf5 0000003a c7f9f000 c7f99000 c7fa1000 c7fa1084 00000082
       c1333a40 c7fa1003 c024ad7f c7fa1084 c7f99000 c7f9f000 00000246 c1333adc
       c7fa1000 c7f99000 c0220d1e c0220eec c7f99000 c02275c4 c7f99000 c1333adc
Call Trace: [<c029ec05>] [<c029ecf5>] [<c024ad7f>] [<c0220d1e>] [<c0220eec>] [<c02275c4>] [<c0229338>]
       [<c0228673>] [<c02212c4>] [<c022111a>] [<c0220300>] [<c01442e8>] [<dead4ead>] [<dead4ead>] [<dead4ead>]
       [<c02301ad>] [<c01442e8>] [<c02303b2>] [<c0230486>] [<c025048b>] [<c01442e8>] [<c012e82d>] [<c01296d8>]
       [<c0129890>] [<c012e26c>] [<c01153f6>] [<c012b205>] [<c013a3fa>] [<c012b205>] [<c010c075>] [<c025de92>]
       [<c0153799>] [<c01548bd>] [<c023b1ae>] [<c88000f4>] [<c023b1ae>] [<c88000f4>] [<c029f33e>] [<c01188e6>]
       [<c0229338>] [<c0109a35>] [<c0109661>] [<c0109f10>] [<dead4ead>] [<c012e7cd>] [<c01296d8>] [<c022444f>]
       [<c0129890>] [<c022efc1>] [<c01153f6>] [<c024eaf4>] [<c0144171>] [<c014430b>] [<c014b702>] [<c010bf4c>]

>>EIP; c024ac2c <aic7xxx_buildscb+288/314> <=====
Trace; c029ec05 <size_sg_req_info+b45/9022>
Trace; c029ecf5 <size_sg_req_info+c35/9022>
Trace; c024ad7f <aic7xxx_queue+c7/154>
Trace; c0220d1e <scsi_dispatch_cmd+9a/3c8>
Trace; c0220eec <scsi_dispatch_cmd+268/3c8>
Trace; c02275c4 <scsi_old_done+0/714>
Trace; c0229338 <scsi_request_fn+3d8/42c>
Trace; c0228673 <scsi_insert_special_req+93/e8>
Trace; c02212c4 <scsi_do_req+138/160>
Trace; c022111a <scsi_wait_req+ce/140>
Trace; c0220300 <scsi_wait_done+0/58>
Trace; c01442e8 <blkdev_ioctl+0/30>
Trace; dead4ead <END_OF_CODE+1620f15e/????>
Trace; dead4ead <END_OF_CODE+1620f15e/????>
Trace; dead4ead <END_OF_CODE+1620f15e/????>
Trace; c02301ad <sr_do_ioctl+109/2bc>
Trace; c01442e8 <blkdev_ioctl+0/30>
Trace; c02303b2 <test_unit_ready+52/5c>
Trace; c0230486 <sr_drive_status+1e/34>
Trace; c025048b <cdrom_ioctl+29b/fec>
Trace; c01442e8 <blkdev_ioctl+0/30>
Trace; c012e82d <filemap_nopage+129/4c4>
Trace; c01296d8 <do_no_page+54/100>
Trace; c0129890 <handle_mm_fault+10c/22c>
Trace; c012e26c <file_read_actor+0/84>
Trace; c01153f6 <do_page_fault+17e/4cc>
Trace; c012b205 <merge_segments+19/2b4>
Trace; c013a3fa <do_close+156/1f4>
Trace; c012b205 <merge_segments+19/2b4>
Trace; c010c075 <error_code+2d/38>
Trace; c025de92 <clear_user+3a/48>
Trace; c0153799 <padzero+1d/24>
Trace; c01548bd <load_elf_binary+989/ab8>
Trace; c023b1ae <aic7xxx_run_waiting_queues+25a/28c>
Trace; c88000f4 <_end+8488f9c/84b1ef4>
Trace; c023b1ae <aic7xxx_run_waiting_queues+25a/28c>
Trace; c88000f4 <_end+8488f9c/84b1ef4>
Trace; c029f33e <size_sg_req_info+127e/9022>
Trace; c01188e6 <schedule+4a6/ac0>
Trace; c0229338 <scsi_request_fn+3d8/42c>
Trace; c0109a35 <__down+3d1/3dc>
Trace; c0109661 <__up+11/14>
Trace; c0109f10 <__down_failed+8/c>
Trace; dead4ead <END_OF_CODE+1620f15e/????>
Trace; c012e7cd <filemap_nopage+c9/4c4>
Trace; c01296d8 <do_no_page+54/100>
Trace; c022444f <scsi_ioctl+2cb/3d4>
Trace; c0129890 <handle_mm_fault+10c/22c>
Trace; c022efc1 <sr_media_change+35/d8>
Trace; c01153f6 <do_page_fault+17e/4cc>
Trace; c024eaf4 <cdrom_open+b4/c0>
Trace; c0144171 <blkdev_open+7d/d4>
Trace; c014430b <blkdev_ioctl+23/30>
Trace; c014b702 <sys_ioctl+236/2dc>
Trace; c010bf4c <system_call+34/38>
Code; c024ac2c <aic7xxx_buildscb+288/314>
00000000 <_EIP>:
Code; c024ac2c <aic7xxx_buildscb+288/314> <=====
   0: 0f 0b ud2a <=====
Code; c024ac2e <aic7xxx_buildscb+28a/314>
   2: 83 c4 0c add $0xc,%esp
Code; c024ac31 <aic7xxx_buildscb+28d/314>
   5: 8d 93 00 00 00 40 lea 0x40000000(%ebx),%edx
Code; c024ac37 <aic7xxx_buildscb+293/314>
   b: 8b 4c 24 24 mov 0x24(%esp,1),%ecx
Code; c024ac3b <aic7xxx_buildscb+297/314>
   f: 89 91 58 01 00 00 mov %edx,0x158(%ecx)

I then got an NMI lockup with backtrace from "kupdated":

>>EIP; c0264195 <stext_lock+41f9/70ec> <=====
Trace; c01ebf38 <__ll_rw_block+1c/1d4>
Trace; c01ec103 <ll_rw_block+13/18>
Trace; c0140590 <flush_dirty_buffers+114/1a4>
Trace; c0270d60 <tvecs+3198/4913>
Trace; c014070c <sync_old_buffers+ec/1d0>
Trace; c0270d60 <tvecs+3198/4913>
Trace; c0140c14 <kupdate+220/228>
Trace; c0105000 <empty_bad_page+0/1000>
Trace; c010905f <kernel_thread+23/30>

Simon-

[ Stormix Technologies Inc. ][ NetNation Communcations Inc. ]
[ sim@stormix.com ][ sim@netnation.com ]
[ Opinions expressed are not necessarily those of my employers. ]

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Feb 23 2000 - 21:00:27 EST