[Bug 157118] [igb] cleanup error in igb driver - igb_setup_receive_structures()

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Aug 4 15:44:36 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=157118

Sean Bruno <sbruno at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sbruno at FreeBSD.org
         Resolution|---                         |Works As Intended
             Status|In Progress                 |Closed

--- Comment #1 from Sean Bruno <sbruno at FreeBSD.org> ---
The code appears to not match the description in this ticket anymore.  Closing
it out.

static int
igb_setup_receive_structures(struct adapter *adapter)
{
        struct rx_ring *rxr = adapter->rx_rings;
        int i;

        for (i = 0; i < adapter->num_queues; i++, rxr++)
                if (igb_setup_receive_ring(rxr))
                        goto fail;

        return (0);
fail:
        /*
         * Free RX buffers allocated so far, we will only handle
         * the rings that completed, the failing case will have
         * cleaned up for itself. 'i' is the endpoint.
         */
        for (int j = 0; j < i; ++j) {
                rxr = &adapter->rx_rings[j];
                IGB_RX_LOCK(rxr);
                igb_free_receive_ring(rxr);
                IGB_RX_UNLOCK(rxr);
        }

        return (ENOBUFS);
}

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list