kern/148785: twa driver doesn't pass proper max. io size to cam

Petr Lampa lampa at fit.vutbr.cz
Tue Jul 20 12:30:01 UTC 2010


>Number:         148785
>Category:       kern
>Synopsis:       twa driver doesn't pass proper max. io size to cam
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 20 12:30:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Petr Lampa
>Release:        STABLE8
>Organization:
BUT FIT
>Environment:
FreeBSD XXX 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #6: Tue Jul 20 13:58:44 CEST 2010     XXX:/usr/src/sys/i386/compile/VIDEO5  i386

>Description:
LSI/3ware cards are able to process 128KB requests (TW_CL_MAX_IO_SIZE), but the twa driver doesn't set maxio field in XPT_PATH_INQ request, so cam will use DFLTPHYS (64KB).
>How-To-Repeat:

>Fix:
One line change at XPT_PATH_INQ processing in tw_osl_cam.c (line 453):

*** tw_osl_cam.c        2010-07-20 14:06:37.000000000 +0200
--- /root/tw_osl_cam.c  2010-07-20 14:06:24.000000000 +0200
***************
*** 450,455 ****
--- 450,456 ----
                path_inq->transport_version = 2;
                path_inq->protocol = PROTO_SCSI;
                path_inq->protocol_version = SCSI_REV_2;
+               path_inq->maxio = TW_CL_MAX_IO_SIZE;
                ccb_h->status = CAM_REQ_CMP;
                xpt_done(ccb);
                break;

Functionality verified both with 9500 and 9650SE.

>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list