ieee1394: eth1394: handle tlabel exhaustion
When eth1394 was unable to acquire a transaction label, it just dropped outgoing packets without attempt to resend them later. The transmit queue is now halted if no tlabel is available to ->hard_start_xmit(). A workqueue job is then scheduled to catch the moment when ieee1394 recycled the next lot of tlabels. Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8402 Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
This commit is contained in:
@@ -66,6 +66,10 @@ struct eth1394_priv {
|
||||
int bc_dgl; /* Outgoing broadcast datagram label */
|
||||
struct list_head ip_node_list; /* List of IP capable nodes */
|
||||
struct unit_directory *ud_list[ALL_NODES]; /* Cached unit dir list */
|
||||
|
||||
struct work_struct wake; /* Wake up after xmit failure */
|
||||
struct net_device *wake_dev; /* Stupid backlink for .wake */
|
||||
nodeid_t wake_node; /* Destination of failed xmit */
|
||||
};
|
||||
|
||||
|
||||
|
Verwijs in nieuw issue
Block a user