qls_isr.c (0bfd163f522701b486e066fa2e56624c02f5081a) qls_isr.c (c8dfaf382fa6df9dc6fd1e1c3356e0c8bf607e6a)
1/*
2 * Copyright (c) 2013-2014 Qlogic Corporation
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *

--- 43 unchanged lines hidden (view full) ---

52 if (tx_idx >= NUM_TX_DESCRIPTORS) {
53 ha->qla_initiate_recovery = 1;
54 return;
55 }
56
57 txb = &ha->tx_ring[txr_idx].tx_buf[tx_idx];
58
59 if (txb->m_head) {
1/*
2 * Copyright (c) 2013-2014 Qlogic Corporation
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *

--- 43 unchanged lines hidden (view full) ---

52 if (tx_idx >= NUM_TX_DESCRIPTORS) {
53 ha->qla_initiate_recovery = 1;
54 return;
55 }
56
57 txb = &ha->tx_ring[txr_idx].tx_buf[tx_idx];
58
59 if (txb->m_head) {
60 ha->ifp->if_opackets++;
60 if_inc_counter(ha->ifp, IFCOUNTER_OPACKETS, 1);
61 bus_dmamap_sync(ha->tx_tag, txb->map,
62 BUS_DMASYNC_POSTWRITE);
63 bus_dmamap_unload(ha->tx_tag, txb->map);
64 m_freem(txb->m_head);
65
66 txb->m_head = NULL;
67 }
68

--- 127 unchanged lines hidden (view full) ---

196 Q81_RX_FLAGS0_NU | Q81_RX_FLAGS0_IE)) {
197 mp->m_pkthdr.csum_flags = 0;
198 } else {
199 mp->m_pkthdr.csum_flags = CSUM_IP_CHECKED |
200 CSUM_IP_VALID | CSUM_DATA_VALID |
201 CSUM_PSEUDO_HDR;
202 mp->m_pkthdr.csum_data = 0xFFFF;
203 }
61 bus_dmamap_sync(ha->tx_tag, txb->map,
62 BUS_DMASYNC_POSTWRITE);
63 bus_dmamap_unload(ha->tx_tag, txb->map);
64 m_freem(txb->m_head);
65
66 txb->m_head = NULL;
67 }
68

--- 127 unchanged lines hidden (view full) ---

196 Q81_RX_FLAGS0_NU | Q81_RX_FLAGS0_IE)) {
197 mp->m_pkthdr.csum_flags = 0;
198 } else {
199 mp->m_pkthdr.csum_flags = CSUM_IP_CHECKED |
200 CSUM_IP_VALID | CSUM_DATA_VALID |
201 CSUM_PSEUDO_HDR;
202 mp->m_pkthdr.csum_data = 0xFFFF;
203 }
204 ifp->if_ipackets++;
204 if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1);
205
206 if (lro->lro_cnt && (tcp_lro_rx(lro, mp, 0) == 0)) {
207 /* LRO packet has been successfuly queued */
208 } else {
209 (*ifp->if_input)(ifp, mp);
210 }
211 }
212 } else {

--- 189 unchanged lines hidden ---
205
206 if (lro->lro_cnt && (tcp_lro_rx(lro, mp, 0) == 0)) {
207 /* LRO packet has been successfuly queued */
208 } else {
209 (*ifp->if_input)(ifp, mp);
210 }
211 }
212 } else {

--- 189 unchanged lines hidden ---