From owner-svn-src-projects@FreeBSD.ORG Wed Nov 4 23:33:36 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 EA2791065695; Wed, 4 Nov 2009 23:33:36 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BE7008FC17; Wed, 4 Nov 2009 23:33:36 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id nA4NXaaE050319; Wed, 4 Nov 2009 23:33:36 GMT (envelope-from gonzo@svn.freebsd.org) Received: (from gonzo@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id nA4NXavU050316; Wed, 4 Nov 2009 23:33:36 GMT (envelope-from gonzo@svn.freebsd.org) Message-Id: <200911042333.nA4NXavU050316@svn.freebsd.org> From: Oleksandr Tymoshenko Date: Wed, 4 Nov 2009 23:33:36 +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: r198932 - projects/mips/sys/mips/atheros 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: Wed, 04 Nov 2009 23:33:37 -0000 Author: gonzo Date: Wed Nov 4 23:33:36 2009 New Revision: 198932 URL: http://svn.freebsd.org/changeset/base/198932 Log: - Remove noisy "Implement me" stubs - Handle SIOCSIFFLAGS ioctl Modified: projects/mips/sys/mips/atheros/if_arge.c projects/mips/sys/mips/atheros/if_argevar.h Modified: projects/mips/sys/mips/atheros/if_arge.c ============================================================================== --- projects/mips/sys/mips/atheros/if_arge.c Wed Nov 4 22:39:18 2009 (r198931) +++ projects/mips/sys/mips/atheros/if_arge.c Wed Nov 4 23:33:36 2009 (r198932) @@ -272,6 +272,7 @@ arge_attach(device_t dev) ifp->if_ioctl = arge_ioctl; ifp->if_start = arge_start; ifp->if_init = arge_init; + sc->arge_if_flags = ifp->if_flags; /* XXX: add real size */ IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); @@ -900,25 +901,38 @@ arge_ioctl(struct ifnet *ifp, u_long com switch (command) { case SIOCSIFFLAGS: - printf("Implement me: SIOCSIFFLAGS\n"); + ARGE_LOCK(sc); + if ((ifp->if_flags & IFF_UP) != 0) { + if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + if (((ifp->if_flags ^ sc->arge_if_flags) + & (IFF_PROMISC | IFF_ALLMULTI)) != 0) + arge_rx_locked(sc); + } else { + if (!sc->arge_detach) + arge_init_locked(sc); + } + } else if ((ifp->if_drv_flags & IFF_DRV_RUNNING) != 0) { + ifp->if_drv_flags &= ~IFF_DRV_RUNNING; + arge_stop(sc); + } + sc->arge_if_flags = ifp->if_flags; + ARGE_UNLOCK(sc); error = 0; break; case SIOCADDMULTI: case SIOCDELMULTI: - printf("Implement me: SIOCDELMULTI\n"); + /* XXX: implement SIOCDELMULTI */ error = 0; break; case SIOCGIFMEDIA: case SIOCSIFMEDIA: - printf("Implement me: SIOCSIFMEDIA\n"); mii = device_get_softc(sc->arge_miibus); error = ifmedia_ioctl(ifp, ifr, &mii->mii_media, command); break; case SIOCSIFCAP: - printf("Implement me: SIOCSIFCAP\n"); + /* XXX: Check other capabilities */ #ifdef DEVICE_POLLING mask = ifp->if_capenable ^ ifr->ifr_reqcap; - error = 0; if (mask & IFCAP_POLLING) { if (ifr->ifr_reqcap & IFCAP_POLLING) { ARGE_WRITE(sc, AR71XX_DMA_INTR, 0); @@ -936,6 +950,7 @@ arge_ioctl(struct ifnet *ifp, u_long com ARGE_UNLOCK(sc); } } + error = 0; break; #endif default: Modified: projects/mips/sys/mips/atheros/if_argevar.h ============================================================================== --- projects/mips/sys/mips/atheros/if_argevar.h Wed Nov 4 22:39:18 2009 (r198931) +++ projects/mips/sys/mips/atheros/if_argevar.h Wed Nov 4 23:33:36 2009 (r198932) @@ -133,6 +133,7 @@ struct arge_softc { int arge_phy_num; uint32_t arge_ddr_flush_reg; uint32_t arge_pll_reg; + int arge_if_flags; }; #endif /* __IF_ARGEVAR_H__ */