Date: Wed, 15 Oct 2003 21:41:30 -0400 From: David Sze <dsze@alumni.uwaterloo.ca> To: Nate Lawson <nate@root.org> Cc: freebsd-scsi@freebsd.org Subject: Re: Dell PowerEdge 1750 and mpt Message-ID: <6.0.0.22.2.20031015212813.039fcd48@mail.distrust.net> In-Reply-To: <20031015133813.O35236@root.org> References: <6.0.0.22.2.20031014232154.03a0b990@mail.distrust.net> <6.0.0.22.2.20031015080310.03ac9b88@mail.distrust.net> <20031015100215.U34498@root.org> <20031015180131.GA25402@pooh.distrust.net> <20031015133813.O35236@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
At 01:38 PM 15/10/2003 -0700, Nate Lawson wrote this to All: >I'm out of time for this thread. Find the diff between your code and >camcontrol inquiry -S and you'll find the bug. Thanks for your help Nate. I don't expect you to respond to this message, I'm just replying so that it shows up in the archives for anyone else that might have problems with the Dell 1750 and mpt. For those who are interested, it doesn't appear to be a bug in my code. I replaced everything that I copied from camcontrol with what follows below, which only uses the functions documented in cam(3). The kernel still panic'ed after a few hours, with an identical backtrace to the one posted previously. Notice how this snippet of code never directly sends XPT_GET_TRAN_SETTINGS, so the source of the junk pointer/CCB cannot be me. Removing all traces of this serial # gathering code from our application has gotten rid of the panics. #include <stdio.h> #include <camlib.h> #include <fcntl.h> #include <string.h> #define DEVICE_MAX 16 int main() { struct cam_device device; char kpcSerials[sizeof(device.serial_num)*DEVICE_MAX+1]; unsigned int unLen = 0; for (int n = 0; n < DEVICE_MAX; ++n) { if (NULL == ::cam_open_spec_device("pass", n, O_RDWR, &device)) break; ::bcopy(device.serial_num, kpcSerials + unLen, device.serial_num_len); unLen += device.serial_num_len; ::cam_close_spec_device(&device); } kpcSerials[unLen] = '\0'; ::printf("%s\n", kpcSerials); return 0; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.0.0.22.2.20031015212813.039fcd48>