diff options
Diffstat (limited to 'drivers/net/xen-netback/common.h')
| -rw-r--r-- | drivers/net/xen-netback/common.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h index 4a92fc19f410..ef3026f46a37 100644 --- a/drivers/net/xen-netback/common.h +++ b/drivers/net/xen-netback/common.h | |||
| @@ -176,9 +176,9 @@ struct xenvif_queue { /* Per-queue data for xenvif */ | |||
| 176 | struct xen_netif_rx_back_ring rx; | 176 | struct xen_netif_rx_back_ring rx; |
| 177 | struct sk_buff_head rx_queue; | 177 | struct sk_buff_head rx_queue; |
| 178 | RING_IDX rx_last_skb_slots; | 178 | RING_IDX rx_last_skb_slots; |
| 179 | bool rx_queue_purge; | 179 | unsigned long status; |
| 180 | 180 | ||
| 181 | struct timer_list wake_queue; | 181 | struct timer_list rx_stalled; |
| 182 | 182 | ||
| 183 | struct gnttab_copy grant_copy_op[MAX_GRANT_COPY_OPS]; | 183 | struct gnttab_copy grant_copy_op[MAX_GRANT_COPY_OPS]; |
| 184 | 184 | ||
| @@ -200,7 +200,16 @@ struct xenvif_queue { /* Per-queue data for xenvif */ | |||
| 200 | 200 | ||
| 201 | enum state_bit_shift { | 201 | enum state_bit_shift { |
| 202 | /* This bit marks that the vif is connected */ | 202 | /* This bit marks that the vif is connected */ |
| 203 | VIF_STATUS_CONNECTED | 203 | VIF_STATUS_CONNECTED, |
| 204 | /* This bit signals the RX thread that queuing was stopped (in | ||
| 205 | * start_xmit), and either the timer fired or an RX interrupt came | ||
| 206 | */ | ||
| 207 | QUEUE_STATUS_RX_PURGE_EVENT, | ||
| 208 | /* This bit tells the interrupt handler that this queue was the reason | ||
| 209 | * for the carrier off, so it should kick the thread. Only queues which | ||
| 210 | * brought it down can turn on the carrier. | ||
| 211 | */ | ||
| 212 | QUEUE_STATUS_RX_STALLED | ||
| 204 | }; | 213 | }; |
| 205 | 214 | ||
| 206 | struct xenvif { | 215 | struct xenvif { |
