CAM_NEW_TRAN

Johannes.Kruger at nokia.com Johannes.Kruger at nokia.com
Tue Nov 21 09:29:40 PST 2006


Hi Matthew.

I tried forcing a core dump  on the LSI-1064 and LSI-1064E controller.
It does not seem to work via the mpt driver.
The core dump is set to go to the usual place, the swap partition.

# mount
/dev/da0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/da0s1e on /tmp (ufs, local, soft-updates)
/dev/da0s1f on /usr (ufs, local, soft-updates)
/dev/da0s1d on /var (ufs, local, soft-updates)

No RAID setup, just normal SATA disk on PHY0, works fine except for core
dump.

Did a bit of debug checking:
I see that interrupts are turned of when doing a core dump.
This looks ok since I see there is polling routines registered, and I
can see them being called also.

The message with what it fails is:
------------------ snip ---------------------
Aborting dump due to I/O error.
status == 0x58, scsi status == 0x0
i/o error
Rebooting...
------------------ snip ---------------------

I added some debugging code and it looks like it calls mpt_intr lots of
times, and also mpt_action, which is correct.
After looping (or entering via polling) the mpt_intr routine multiple
times, the bit MPI_ADDRESS_REPLY_A_BIT is set.
The execution path in "mpt_scsi_reply_handler" changes from a "context
only reply" to a call to do "mpt_scsi_reply_frame_handler".
In this "mpt_scsi_reply_frame_handler" call the ioc_status = 0x4b which
is:

#define MPI_IOCSTATUS_SCSI_IOC_TERMINATED      (0x004B)

Any idea why this happens ?

Thanks

Johan



.


More information about the freebsd-scsi mailing list