Skip to content

Commit d14f5b8

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits) ipv6: Don't pass invalid dst_entry pointer to dst_release(). mlx4: fix kfree on error path in new_steering_entry() tcp: len check is unnecessarily devastating, change to WARN_ON sctp: malloc enough room for asconf-ack chunk sctp: fix auth_hmacs field's length of struct sctp_cookie net: Fix dev dev_ethtool_get_rx_csum() for forced NETIF_F_RXCSUM usbnet: use eth%d name for known ethernet devices starfire: clean up dma_addr_t size test iwlegacy: fix bugs in change_interface carl9170: Fix tx aggregation problems with some clients iwl3945: disable hw scan by default wireless: rt2x00: rt2800usb.c add and identify ids iwl3945: do not deprecate software scan mac80211: fix aggregation frame release during timeout cfg80211: fix BSS double-unlinking (continued) cfg80211:: fix possible NULL pointer dereference mac80211: fix possible NULL pointer dereference mac80211: fix NULL pointer dereference in ieee80211_key_alloc() ath9k: fix a chip wakeup related crash in ath9k_start mac80211: fix a crash in minstrel_ht in HT mode with no supported MCS rates ...
2 parents b2a8b4b + 738faca commit d14f5b8

File tree

36 files changed

+138
-60
lines changed

36 files changed

+138
-60
lines changed

drivers/bluetooth/btusb.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ static struct usb_device_id btusb_table[] = {
7171
/* Apple MacBookAir3,1, MacBookAir3,2 */
7272
{ USB_DEVICE(0x05ac, 0x821b) },
7373

74+
/* Apple MacBookPro8,2 */
75+
{ USB_DEVICE(0x05ac, 0x821a) },
76+
7477
/* AVM BlueFRITZ! USB v2.0 */
7578
{ USB_DEVICE(0x057c, 0x3800) },
7679

@@ -690,7 +693,8 @@ static int btusb_send_frame(struct sk_buff *skb)
690693
break;
691694

692695
case HCI_ACLDATA_PKT:
693-
if (!data->bulk_tx_ep || hdev->conn_hash.acl_num < 1)
696+
if (!data->bulk_tx_ep || (hdev->conn_hash.acl_num < 1 &&
697+
hdev->conn_hash.le_num < 1))
694698
return -ENODEV;
695699

696700
urb = usb_alloc_urb(0, GFP_ATOMIC);

drivers/net/mlx4/mcg.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
111111
u32 members_count;
112112
struct mlx4_steer_index *new_entry;
113113
struct mlx4_promisc_qp *pqp;
114-
struct mlx4_promisc_qp *dqp;
114+
struct mlx4_promisc_qp *dqp = NULL;
115115
u32 prot;
116116
int err;
117117
u8 pf_num;
@@ -184,7 +184,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
184184
out_alloc:
185185
if (dqp) {
186186
list_del(&dqp->list);
187-
kfree(&dqp);
187+
kfree(dqp);
188188
}
189189
list_del(&new_entry->list);
190190
kfree(new_entry);

drivers/net/starfire.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,7 @@ static int full_duplex[MAX_UNITS] = {0, };
144144
/* Time in jiffies before concluding the transmitter is hung. */
145145
#define TX_TIMEOUT (2 * HZ)
146146

147-
/*
148-
* This SUCKS.
149-
* We need a much better method to determine if dma_addr_t is 64-bit.
150-
*/
151-
#if (defined(__i386__) && defined(CONFIG_HIGHMEM64G)) || defined(__x86_64__) || defined (__ia64__) || defined(__alpha__) || (defined(CONFIG_MIPS) && ((defined(CONFIG_HIGHMEM) && defined(CONFIG_64BIT_PHYS_ADDR)) || defined(CONFIG_64BIT))) || (defined(__powerpc64__) || defined(CONFIG_PHYS_64BIT))
147+
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
152148
/* 64-bit dma_addr_t */
153149
#define ADDR_64BITS /* This chip uses 64 bit addresses. */
154150
#define netdrv_addr_t __le64

drivers/net/usb/cdc_eem.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb)
340340

341341
static const struct driver_info eem_info = {
342342
.description = "CDC EEM Device",
343-
.flags = FLAG_ETHER,
343+
.flags = FLAG_ETHER | FLAG_POINTTOPOINT,
344344
.bind = eem_bind,
345345
.rx_fixup = eem_rx_fixup,
346346
.tx_fixup = eem_tx_fixup,

drivers/net/usb/cdc_ether.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ static int cdc_manage_power(struct usbnet *dev, int on)
452452

453453
static const struct driver_info cdc_info = {
454454
.description = "CDC Ethernet Device",
455-
.flags = FLAG_ETHER,
455+
.flags = FLAG_ETHER | FLAG_POINTTOPOINT,
456456
// .check_connect = cdc_check_connect,
457457
.bind = usbnet_cdc_bind,
458458
.unbind = usbnet_cdc_unbind,

drivers/net/usb/cdc_ncm.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1237,7 +1237,7 @@ static int cdc_ncm_manage_power(struct usbnet *dev, int status)
12371237

12381238
static const struct driver_info cdc_ncm_info = {
12391239
.description = "CDC NCM",
1240-
.flags = FLAG_NO_SETINT | FLAG_MULTI_PACKET,
1240+
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET,
12411241
.bind = cdc_ncm_bind,
12421242
.unbind = cdc_ncm_unbind,
12431243
.check_connect = cdc_ncm_check_connect,

drivers/net/usb/cdc_subset.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ static int always_connected (struct usbnet *dev)
8989

9090
static const struct driver_info ali_m5632_info = {
9191
.description = "ALi M5632",
92+
.flags = FLAG_POINTTOPOINT,
9293
};
9394

9495
#endif
@@ -110,6 +111,7 @@ static const struct driver_info ali_m5632_info = {
110111

111112
static const struct driver_info an2720_info = {
112113
.description = "AnchorChips/Cypress 2720",
114+
.flags = FLAG_POINTTOPOINT,
113115
// no reset available!
114116
// no check_connect available!
115117

@@ -132,6 +134,7 @@ static const struct driver_info an2720_info = {
132134

133135
static const struct driver_info belkin_info = {
134136
.description = "Belkin, eTEK, or compatible",
137+
.flags = FLAG_POINTTOPOINT,
135138
};
136139

137140
#endif /* CONFIG_USB_BELKIN */
@@ -157,6 +160,7 @@ static const struct driver_info belkin_info = {
157160
static const struct driver_info epson2888_info = {
158161
.description = "Epson USB Device",
159162
.check_connect = always_connected,
163+
.flags = FLAG_POINTTOPOINT,
160164

161165
.in = 4, .out = 3,
162166
};
@@ -173,6 +177,7 @@ static const struct driver_info epson2888_info = {
173177
#define HAVE_HARDWARE
174178
static const struct driver_info kc2190_info = {
175179
.description = "KC Technology KC-190",
180+
.flags = FLAG_POINTTOPOINT,
176181
};
177182
#endif /* CONFIG_USB_KC2190 */
178183

@@ -200,16 +205,19 @@ static const struct driver_info kc2190_info = {
200205
static const struct driver_info linuxdev_info = {
201206
.description = "Linux Device",
202207
.check_connect = always_connected,
208+
.flags = FLAG_POINTTOPOINT,
203209
};
204210

205211
static const struct driver_info yopy_info = {
206212
.description = "Yopy",
207213
.check_connect = always_connected,
214+
.flags = FLAG_POINTTOPOINT,
208215
};
209216

210217
static const struct driver_info blob_info = {
211218
.description = "Boot Loader OBject",
212219
.check_connect = always_connected,
220+
.flags = FLAG_POINTTOPOINT,
213221
};
214222

215223
#endif /* CONFIG_USB_ARMLINUX */

drivers/net/usb/gl620a.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ static int genelink_bind(struct usbnet *dev, struct usb_interface *intf)
193193

194194
static const struct driver_info genelink_info = {
195195
.description = "Genesys GeneLink",
196-
.flags = FLAG_FRAMING_GL | FLAG_NO_SETINT,
196+
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_GL | FLAG_NO_SETINT,
197197
.bind = genelink_bind,
198198
.rx_fixup = genelink_rx_fixup,
199199
.tx_fixup = genelink_tx_fixup,

drivers/net/usb/net1080.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,7 @@ static int net1080_bind(struct usbnet *dev, struct usb_interface *intf)
560560

561561
static const struct driver_info net1080_info = {
562562
.description = "NetChip TurboCONNECT",
563-
.flags = FLAG_FRAMING_NC,
563+
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_NC,
564564
.bind = net1080_bind,
565565
.reset = net1080_reset,
566566
.check_connect = net1080_check_connect,

drivers/net/usb/plusb.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ static int pl_reset(struct usbnet *dev)
9696

9797
static const struct driver_info prolific_info = {
9898
.description = "Prolific PL-2301/PL-2302",
99-
.flags = FLAG_NO_SETINT,
99+
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT,
100100
/* some PL-2302 versions seem to fail usb_set_interface() */
101101
.reset = pl_reset,
102102
};

drivers/net/usb/rndis_host.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -573,7 +573,7 @@ EXPORT_SYMBOL_GPL(rndis_tx_fixup);
573573

574574
static const struct driver_info rndis_info = {
575575
.description = "RNDIS device",
576-
.flags = FLAG_ETHER | FLAG_FRAMING_RN | FLAG_NO_SETINT,
576+
.flags = FLAG_ETHER | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT,
577577
.bind = rndis_bind,
578578
.unbind = rndis_unbind,
579579
.status = rndis_status,

drivers/net/usb/usbnet.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1380,7 +1380,8 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
13801380
// else "eth%d" when there's reasonable doubt. userspace
13811381
// can rename the link if it knows better.
13821382
if ((dev->driver_info->flags & FLAG_ETHER) != 0 &&
1383-
(net->dev_addr [0] & 0x02) == 0)
1383+
((dev->driver_info->flags & FLAG_POINTTOPOINT) == 0 ||
1384+
(net->dev_addr [0] & 0x02) == 0))
13841385
strcpy (net->name, "eth%d");
13851386
/* WLAN devices should always be named "wlan%d" */
13861387
if ((dev->driver_info->flags & FLAG_WLAN) != 0)

drivers/net/usb/zaurus.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ static int always_connected (struct usbnet *dev)
102102

103103
static const struct driver_info zaurus_sl5x00_info = {
104104
.description = "Sharp Zaurus SL-5x00",
105-
.flags = FLAG_FRAMING_Z,
105+
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
106106
.check_connect = always_connected,
107107
.bind = zaurus_bind,
108108
.unbind = usbnet_cdc_unbind,
@@ -112,7 +112,7 @@ static const struct driver_info zaurus_sl5x00_info = {
112112

113113
static const struct driver_info zaurus_pxa_info = {
114114
.description = "Sharp Zaurus, PXA-2xx based",
115-
.flags = FLAG_FRAMING_Z,
115+
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
116116
.check_connect = always_connected,
117117
.bind = zaurus_bind,
118118
.unbind = usbnet_cdc_unbind,
@@ -122,7 +122,7 @@ static const struct driver_info zaurus_pxa_info = {
122122

123123
static const struct driver_info olympus_mxl_info = {
124124
.description = "Olympus R1000",
125-
.flags = FLAG_FRAMING_Z,
125+
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
126126
.check_connect = always_connected,
127127
.bind = zaurus_bind,
128128
.unbind = usbnet_cdc_unbind,
@@ -258,7 +258,7 @@ static int blan_mdlm_bind(struct usbnet *dev, struct usb_interface *intf)
258258

259259
static const struct driver_info bogus_mdlm_info = {
260260
.description = "pseudo-MDLM (BLAN) device",
261-
.flags = FLAG_FRAMING_Z,
261+
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
262262
.check_connect = always_connected,
263263
.tx_fixup = zaurus_tx_fixup,
264264
.bind = blan_mdlm_bind,

drivers/net/wireless/ath/ath9k/main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
10481048
"Starting driver with initial channel: %d MHz\n",
10491049
curchan->center_freq);
10501050

1051+
ath9k_ps_wakeup(sc);
1052+
10511053
mutex_lock(&sc->mutex);
10521054

10531055
/* setup initial channel */
@@ -1143,6 +1145,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
11431145
mutex_unlock:
11441146
mutex_unlock(&sc->mutex);
11451147

1148+
ath9k_ps_restore(sc);
1149+
11461150
return r;
11471151
}
11481152

drivers/net/wireless/ath/carl9170/carl9170.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,7 @@ struct carl9170_ba_stats {
443443
u8 ampdu_len;
444444
u8 ampdu_ack_len;
445445
bool clear;
446+
bool req;
446447
};
447448

448449
struct carl9170_sta_info {

drivers/net/wireless/ath/carl9170/main.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
13551355
tid_info = rcu_dereference(sta_info->agg[tid]);
13561356

13571357
sta_info->stats[tid].clear = true;
1358+
sta_info->stats[tid].req = false;
13581359

13591360
if (tid_info) {
13601361
bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE);

drivers/net/wireless/ath/carl9170/tx.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,7 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
383383

384384
if (sta_info->stats[tid].clear) {
385385
sta_info->stats[tid].clear = false;
386+
sta_info->stats[tid].req = false;
386387
sta_info->stats[tid].ampdu_len = 0;
387388
sta_info->stats[tid].ampdu_ack_len = 0;
388389
}
@@ -391,10 +392,16 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
391392
if (txinfo->status.rates[0].count == 1)
392393
sta_info->stats[tid].ampdu_ack_len++;
393394

395+
if (!(txinfo->flags & IEEE80211_TX_STAT_ACK))
396+
sta_info->stats[tid].req = true;
397+
394398
if (super->f.mac_control & cpu_to_le16(AR9170_TX_MAC_IMM_BA)) {
395399
super->s.rix = sta_info->stats[tid].ampdu_len;
396400
super->s.cnt = sta_info->stats[tid].ampdu_ack_len;
397401
txinfo->flags |= IEEE80211_TX_STAT_AMPDU;
402+
if (sta_info->stats[tid].req)
403+
txinfo->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
404+
398405
sta_info->stats[tid].clear = true;
399406
}
400407
spin_unlock_bh(&tid_info->lock);

drivers/net/wireless/iwlegacy/iwl-core.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1805,6 +1805,15 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
18051805

18061806
mutex_lock(&priv->mutex);
18071807

1808+
if (!ctx->vif || !iwl_legacy_is_ready_rf(priv)) {
1809+
/*
1810+
* Huh? But wait ... this can maybe happen when
1811+
* we're in the middle of a firmware restart!
1812+
*/
1813+
err = -EBUSY;
1814+
goto out;
1815+
}
1816+
18081817
interface_modes = ctx->interface_modes | ctx->exclusive_interface_modes;
18091818

18101819
if (!(interface_modes & BIT(newtype))) {
@@ -1832,6 +1841,7 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
18321841
/* success */
18331842
iwl_legacy_teardown_interface(priv, vif, true);
18341843
vif->type = newtype;
1844+
vif->p2p = newp2p;
18351845
err = iwl_legacy_setup_interface(priv, ctx);
18361846
WARN_ON(err);
18371847
/*

drivers/net/wireless/iwlegacy/iwl3945-base.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ MODULE_LICENSE("GPL");
9393
struct iwl_mod_params iwl3945_mod_params = {
9494
.sw_crypto = 1,
9595
.restart_fw = 1,
96+
.disable_hw_scan = 1,
9697
/* the rest are 0 by default */
9798
};
9899

@@ -3960,8 +3961,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
39603961
* "the hard way", rather than using device's scan.
39613962
*/
39623963
if (iwl3945_mod_params.disable_hw_scan) {
3963-
dev_printk(KERN_DEBUG, &(pdev->dev),
3964-
"sw scan support is deprecated\n");
3964+
IWL_DEBUG_INFO(priv, "Disabling hw_scan\n");
39653965
iwl3945_hw_ops.hw_scan = NULL;
39663966
}
39673967

@@ -4280,8 +4280,7 @@ MODULE_PARM_DESC(swcrypto,
42804280
"using software crypto (default 1 [software])");
42814281
module_param_named(disable_hw_scan, iwl3945_mod_params.disable_hw_scan,
42824282
int, S_IRUGO);
4283-
MODULE_PARM_DESC(disable_hw_scan,
4284-
"disable hardware scanning (default 0) (deprecated)");
4283+
MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 1)");
42854284
#ifdef CONFIG_IWLWIFI_LEGACY_DEBUG
42864285
module_param_named(debug, iwlegacy_debug_level, uint, S_IRUGO | S_IWUSR);
42874286
MODULE_PARM_DESC(debug, "debug output mask");

drivers/net/wireless/rt2x00/rt2800usb.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -730,8 +730,12 @@ static struct usb_device_id rt2800usb_device_table[] = {
730730
{ USB_DEVICE(0x050d, 0x8053), USB_DEVICE_DATA(&rt2800usb_ops) },
731731
{ USB_DEVICE(0x050d, 0x805c), USB_DEVICE_DATA(&rt2800usb_ops) },
732732
{ USB_DEVICE(0x050d, 0x815c), USB_DEVICE_DATA(&rt2800usb_ops) },
733+
{ USB_DEVICE(0x050d, 0x825b), USB_DEVICE_DATA(&rt2800usb_ops) },
734+
{ USB_DEVICE(0x050d, 0x935a), USB_DEVICE_DATA(&rt2800usb_ops) },
735+
{ USB_DEVICE(0x050d, 0x935b), USB_DEVICE_DATA(&rt2800usb_ops) },
733736
/* Buffalo */
734737
{ USB_DEVICE(0x0411, 0x00e8), USB_DEVICE_DATA(&rt2800usb_ops) },
738+
{ USB_DEVICE(0x0411, 0x016f), USB_DEVICE_DATA(&rt2800usb_ops) },
735739
/* Conceptronic */
736740
{ USB_DEVICE(0x14b2, 0x3c06), USB_DEVICE_DATA(&rt2800usb_ops) },
737741
{ USB_DEVICE(0x14b2, 0x3c07), USB_DEVICE_DATA(&rt2800usb_ops) },
@@ -818,6 +822,7 @@ static struct usb_device_id rt2800usb_device_table[] = {
818822
/* Pegatron */
819823
{ USB_DEVICE(0x1d4d, 0x000c), USB_DEVICE_DATA(&rt2800usb_ops) },
820824
{ USB_DEVICE(0x1d4d, 0x000e), USB_DEVICE_DATA(&rt2800usb_ops) },
825+
{ USB_DEVICE(0x1d4d, 0x0011), USB_DEVICE_DATA(&rt2800usb_ops) },
821826
/* Philips */
822827
{ USB_DEVICE(0x0471, 0x200f), USB_DEVICE_DATA(&rt2800usb_ops) },
823828
/* Planex */
@@ -899,6 +904,8 @@ static struct usb_device_id rt2800usb_device_table[] = {
899904
{ USB_DEVICE(0x148f, 0x3572), USB_DEVICE_DATA(&rt2800usb_ops) },
900905
/* Sitecom */
901906
{ USB_DEVICE(0x0df6, 0x0041), USB_DEVICE_DATA(&rt2800usb_ops) },
907+
/* Toshiba */
908+
{ USB_DEVICE(0x0930, 0x0a07), USB_DEVICE_DATA(&rt2800usb_ops) },
902909
/* Zinwell */
903910
{ USB_DEVICE(0x5a57, 0x0284), USB_DEVICE_DATA(&rt2800usb_ops) },
904911
#endif
@@ -961,7 +968,6 @@ static struct usb_device_id rt2800usb_device_table[] = {
961968
{ USB_DEVICE(0x05a6, 0x0101), USB_DEVICE_DATA(&rt2800usb_ops) },
962969
{ USB_DEVICE(0x1d4d, 0x0002), USB_DEVICE_DATA(&rt2800usb_ops) },
963970
{ USB_DEVICE(0x1d4d, 0x0010), USB_DEVICE_DATA(&rt2800usb_ops) },
964-
{ USB_DEVICE(0x1d4d, 0x0011), USB_DEVICE_DATA(&rt2800usb_ops) },
965971
/* Planex */
966972
{ USB_DEVICE(0x2019, 0x5201), USB_DEVICE_DATA(&rt2800usb_ops) },
967973
{ USB_DEVICE(0x2019, 0xab24), USB_DEVICE_DATA(&rt2800usb_ops) },
@@ -975,8 +981,6 @@ static struct usb_device_id rt2800usb_device_table[] = {
975981
/* Sweex */
976982
{ USB_DEVICE(0x177f, 0x0153), USB_DEVICE_DATA(&rt2800usb_ops) },
977983
{ USB_DEVICE(0x177f, 0x0313), USB_DEVICE_DATA(&rt2800usb_ops) },
978-
/* Toshiba */
979-
{ USB_DEVICE(0x0930, 0x0a07), USB_DEVICE_DATA(&rt2800usb_ops) },
980984
/* Zyxel */
981985
{ USB_DEVICE(0x0586, 0x341a), USB_DEVICE_DATA(&rt2800usb_ops) },
982986
#endif

include/linux/netdevice.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2598,8 +2598,8 @@ static inline int dev_ethtool_get_settings(struct net_device *dev,
25982598

25992599
static inline u32 dev_ethtool_get_rx_csum(struct net_device *dev)
26002600
{
2601-
if (dev->hw_features & NETIF_F_RXCSUM)
2602-
return !!(dev->features & NETIF_F_RXCSUM);
2601+
if (dev->features & NETIF_F_RXCSUM)
2602+
return 1;
26032603
if (!dev->ethtool_ops || !dev->ethtool_ops->get_rx_csum)
26042604
return 0;
26052605
return dev->ethtool_ops->get_rx_csum(dev);

include/linux/usb/usbnet.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ struct driver_info {
9797

9898
#define FLAG_LINK_INTR 0x0800 /* updates link (carrier) status */
9999

100+
#define FLAG_POINTTOPOINT 0x1000 /* possibly use "usb%d" names */
101+
100102
/*
101103
* Indicates to usbnet, that USB driver accumulates multiple IP packets.
102104
* Affects statistic (counters) and short packet handling.

0 commit comments

Comments
 (0)