diff options
Diffstat (limited to 'drivers/net/wireless/libertas/tx.c')
-rw-r--r-- | drivers/net/wireless/libertas/tx.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/libertas/tx.c b/drivers/net/wireless/libertas/tx.c index f10aa39a6b68..160cfd8311c0 100644 --- a/drivers/net/wireless/libertas/tx.c +++ b/drivers/net/wireless/libertas/tx.c | |||
@@ -132,8 +132,12 @@ int lbs_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
132 | txpd->tx_packet_length = cpu_to_le16(pkt_len); | 132 | txpd->tx_packet_length = cpu_to_le16(pkt_len); |
133 | txpd->tx_packet_location = cpu_to_le32(sizeof(struct txpd)); | 133 | txpd->tx_packet_location = cpu_to_le32(sizeof(struct txpd)); |
134 | 134 | ||
135 | if (dev == priv->mesh_dev) | 135 | if (dev == priv->mesh_dev) { |
136 | txpd->tx_control |= cpu_to_le32(TxPD_MESH_FRAME); | 136 | if (priv->mesh_fw_ver == MESH_FW_OLD) |
137 | txpd->tx_control |= cpu_to_le32(TxPD_MESH_FRAME); | ||
138 | else if (priv->mesh_fw_ver == MESH_FW_NEW) | ||
139 | txpd->u.bss.bss_num = MESH_IFACE_ID; | ||
140 | } | ||
137 | 141 | ||
138 | lbs_deb_hex(LBS_DEB_TX, "txpd", (u8 *) &txpd, sizeof(struct txpd)); | 142 | lbs_deb_hex(LBS_DEB_TX, "txpd", (u8 *) &txpd, sizeof(struct txpd)); |
139 | 143 | ||