From owner-svn-src-projects@FreeBSD.ORG Tue Feb 3 19:49:27 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 153501065672; Tue, 3 Feb 2009 19:49:27 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DA94D8FC23; Tue, 3 Feb 2009 19:49:26 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n13JnQ43040099; Tue, 3 Feb 2009 19:49:26 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n13JnQaG040098; Tue, 3 Feb 2009 19:49:26 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200902031949.n13JnQaG040098@svn.freebsd.org> From: Sam Leffler Date: Tue, 3 Feb 2009 19:49:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r188094 - in projects/vap7/sys: . contrib/pf dev dev/ath dev/ath/ath_hal dev/ath/ath_hal/ar5210 dev/ath/ath_hal/ar5211 dev/ath/ath_hal/ar5212 dev/ath/ath_hal/ar5312 dev/ath/ath_hal/ar54... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Feb 2009 19:49:29 -0000 Author: sam Date: Tue Feb 3 19:49:26 2009 New Revision: 188094 URL: http://svn.freebsd.org/changeset/base/188094 Log: merge r188086: reorg ioctl code to simplify adding new requests Modified: projects/vap7/sys/ (props changed) projects/vap7/sys/contrib/pf/ (props changed) projects/vap7/sys/dev/ (props changed) projects/vap7/sys/dev/ath/ (props changed) projects/vap7/sys/dev/ath/ath_hal/ (props changed) projects/vap7/sys/dev/ath/ath_hal/ar5210/ (props changed) projects/vap7/sys/dev/ath/ath_hal/ar5211/ (props changed) projects/vap7/sys/dev/ath/ath_hal/ar5212/ (props changed) projects/vap7/sys/dev/ath/ath_hal/ar5312/ (props changed) projects/vap7/sys/dev/ath/ath_hal/ar5416/ (props changed) projects/vap7/sys/dev/cfi/cfi_dev.c projects/vap7/sys/dev/cxgb/ (props changed) projects/vap7/sys/dev/usb2/ (props changed) projects/vap7/sys/i386/conf/USB2 (props changed) projects/vap7/sys/modules/usb2/ (props changed) projects/vap7/sys/net80211/ (props changed) Modified: projects/vap7/sys/dev/cfi/cfi_dev.c ============================================================================== --- projects/vap7/sys/dev/cfi/cfi_dev.c Tue Feb 3 19:49:21 2009 (r188093) +++ projects/vap7/sys/dev/cfi/cfi_dev.c Tue Feb 3 19:49:26 2009 (r188094) @@ -252,26 +252,31 @@ cfi_devioctl(struct cdev *dev, u_long cm int error; u_char val; - if (cmd != CFIOCQRY) - return (ENOIOCTL); - sc = dev->si_drv1; + error = 0; - error = (sc->sc_writing) ? cfi_block_finish(sc) : 0; - if (error) - return (error); - - rq = (struct cfiocqry *)data; - - if (rq->offset >= sc->sc_size / sc->sc_width) - return (ESPIPE); - if (rq->offset + rq->count > sc->sc_size / sc->sc_width) - return (ENOSPC); - - while (!error && rq->count--) { - val = cfi_read_qry(sc, rq->offset++); - error = copyout(&val, rq->buffer++, 1); + switch(cmd) { + case CFIOCQRY: + if (sc->sc_writing) { + error = cfi_block_finish(sc); + if (error) + break; + } + + rq = (struct cfiocqry *)data; + if (rq->offset >= sc->sc_size / sc->sc_width) + return (ESPIPE); + if (rq->offset + rq->count > sc->sc_size / sc->sc_width) + return (ENOSPC); + + while (!error && rq->count--) { + val = cfi_read_qry(sc, rq->offset++); + error = copyout(&val, rq->buffer++, 1); + } + break; + default: + error = ENOIOCTL; + break; } - return (error); }