From owner-freebsd-usb@FreeBSD.ORG Wed Nov 23 18:45:53 2005 Return-Path: X-Original-To: freebsd-usb@freebsd.org Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CFB1216A420 for ; Wed, 23 Nov 2005 18:45:53 +0000 (GMT) (envelope-from mattjreimer@gmail.com) Received: from zproxy.gmail.com (zproxy.gmail.com [64.233.162.207]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8938643D88 for ; Wed, 23 Nov 2005 18:45:32 +0000 (GMT) (envelope-from mattjreimer@gmail.com) Received: by zproxy.gmail.com with SMTP id 8so11187nzo for ; Wed, 23 Nov 2005 10:45:29 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=qY9IX6yf8j42HovI2e623TwUzIx9SlCv/CekEMCtOzfdhuSBYW7KexBt6EztR9tKJYu7cRXJIcjjvCArS3lYmL9/148DIs/lS0500TO0fUSf4pbgjSOJ6pJtO6+5sc4X8sBwqZl2ib772viXmzH9ro/a7tr+l3SjO90ljVFwRi4= Received: by 10.64.232.18 with SMTP id e18mr6265590qbh; Wed, 23 Nov 2005 10:45:29 -0800 (PST) Received: by 10.64.213.2 with HTTP; Wed, 23 Nov 2005 10:45:29 -0800 (PST) Message-ID: Date: Wed, 23 Nov 2005 10:45:29 -0800 From: Matt Reimer To: freebsd-usb@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: PATCH: NO_GETMAXLUN quirk was ignored X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Nov 2005 18:45:53 -0000 I noticed that several devices define NO_GETMAXLUN quirks but this quirk is never consulted by the umass driver. The following patch seems to work. Is what was really intended? Matt --- umass.c Wed Nov 23 10:43:00 2005 +++ umass.c.new Wed Nov 23 10:00:51 2005 @@ -1094,7 +1094,8 @@ USB_ATTACH(umass) /* Get the maximum LUN supported by the device. */ - if ((sc->proto & UMASS_PROTO_WIRE) =3D=3D UMASS_PROTO_BBB) + if (((sc->proto & UMASS_PROTO_WIRE) =3D=3D UMASS_PROTO_BBB) && + !(sc->quirks & NO_GETMAXLUN)) sc->maxlun =3D umass_bbb_get_max_lun(sc); else sc->maxlun =3D 0;