| 1758 | } |
| 1759 | |
| 1760 | static void |
| 1761 | arge_stop(struct arge_softc *sc) |
| 1762 | { |
| 1763 | struct ifnet *ifp; |
| 1764 | |
| 1765 | ARGE_LOCK_ASSERT(sc); |
| 1766 | |
| 1767 | ifp = sc->arge_ifp; |
| 1768 | ifp->if_drv_flags &= ~(IFF_DRV_RUNNING | IFF_DRV_OACTIVE); |
| 1769 | if (sc->arge_miibus) |
| 1770 | callout_stop(&sc->arge_stat_callout); |
| 1771 | |
| 1772 | /* mask out interrupts */ |
| 1773 | ARGE_WRITE(sc, AR71XX_DMA_INTR, 0); |
| 1774 | |
| 1775 | arge_reset_dma(sc); |
| 1776 | |
| 1777 | /* Flush FIFO and free any existing mbufs */ |
| 1778 | arge_flush_ddr(sc); |
| 1779 | arge_rx_ring_free(sc); |
| 1780 | arge_tx_ring_free(sc); |
| 1781 | } |
| 1782 | |
| 1783 | static int |
| 1784 | arge_ioctl(struct ifnet *ifp, u_long command, caddr_t data) |
no test coverage detected