Date: Thu, 6 Oct 2011 11:43:38 -0400 From: Andrew Boyer <aboyer@averesystems.com> To: freebsd-scsi@freebsd.org, Matthew Jacob <mj@feral.com> Subject: Initialization timeouts in MPT driver Message-ID: <CDA323AC-295D-4DA8-A8C2-B550664947F3@averesystems.com>
next in thread | raw e-mail | index | archive | help
When using mpt with a 1068e, a bad SATA SSD can prevent all other SATA = drives from being recognized. It takes about 45s for the controller to = respond to the IOC initialization request with a bad drive installed, = but the timeout for SAS controllers is 30s. > mpt0: <LSILogic SAS/SATA Adapter> port 0x5000-0x50ff mem = 0xd9610000-0xd9613fff,0xd9600000-0xd960ffff irq 54 at device 0.0 on pci9 > mpt0: [ITHREAD] > mpt0: MPI Version=3D1.5.20.0 > mpt0: Firmware version=3D1.30 > mpt0: mpt_wait_req(6) timed out > mpt0: port 0 enable timed out > mpt0: mpt_enable_ioc: failed to enable port 0 > mpt0: unable to initialize IOC The IOC initialization timeouts on linux are ten times as long as in BSD = (300 or 30 seconds vs 30 or 3 seconds), and linux is able to see all of = the good drives. Changing the mpt timeouts to match linux allows = freebsd to see the good drives, too. Thoughts? -Andrew Index: sys/dev/mpt/mpt.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/dev/mpt/mpt.c (revision 226063) +++ sys/dev/mpt/mpt.c (working copy) @@ -2084,7 +2084,7 @@ =20 mpt_send_cmd(mpt, req); error =3D mpt_wait_req(mpt, req, REQ_STATE_DONE, REQ_STATE_DONE, - FALSE, (mpt->is_sas || mpt->is_fc)? 30000 : 3000); + FALSE, (mpt->is_sas || mpt->is_fc)? 300000 : 30000); if (error !=3D 0) { mpt_prt(mpt, "port %d enable timed out\n", port); return (-1); -------------------------------------------------- Andrew Boyer aboyer@averesystems.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CDA323AC-295D-4DA8-A8C2-B550664947F3>