Skip to content

Commit

Permalink
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/…
Browse files Browse the repository at this point in the history
…davem/net-2.6
  • Loading branch information
David S. Miller committed Apr 4, 2011
2 parents 95b8fba + a14b289 commit 083dd8b
Show file tree
Hide file tree
Showing 38 changed files with 149 additions and 68 deletions.
6 changes: 5 additions & 1 deletion drivers/bluetooth/btusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,9 @@ static struct usb_device_id btusb_table[] = {
/* Apple MacBookAir3,1, MacBookAir3,2 */
{ USB_DEVICE(0x05ac, 0x821b) },

/* Apple MacBookPro8,2 */
{ USB_DEVICE(0x05ac, 0x821a) },

/* AVM BlueFRITZ! USB v2.0 */
{ USB_DEVICE(0x057c, 0x3800) },

Expand Down Expand Up @@ -690,7 +693,8 @@ static int btusb_send_frame(struct sk_buff *skb)
break;

case HCI_ACLDATA_PKT:
if (!data->bulk_tx_ep || hdev->conn_hash.acl_num < 1)
if (!data->bulk_tx_ep || (hdev->conn_hash.acl_num < 1 &&
hdev->conn_hash.le_num < 1))
return -ENODEV;

urb = usb_alloc_urb(0, GFP_ATOMIC);
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/bonding/bond_alb.h
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ struct tlb_client_info {
* packets to a Client that the Hash function
* gave this entry index.
*/
u32 tx_bytes; /* Each Client acumulates the BytesTx that
u32 tx_bytes; /* Each Client accumulates the BytesTx that
* were tranmitted to it, and after each
* CallBack the LoadHistory is devided
* by the balance interval
Expand Down
4 changes: 3 additions & 1 deletion drivers/net/mlx4/eq.c
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,9 @@ int mlx4_init_eq_table(struct mlx4_dev *dev)
}

for (i = 0; i < dev->caps.num_comp_vectors; ++i) {
err = mlx4_create_eq(dev, dev->caps.num_cqs + MLX4_NUM_SPARE_EQE,
err = mlx4_create_eq(dev, dev->caps.num_cqs -
dev->caps.reserved_cqs +
MLX4_NUM_SPARE_EQE,
(dev->flags & MLX4_FLAG_MSI_X) ? i : 0,
&priv->eq_table.eq[i]);
if (err) {
Expand Down
7 changes: 4 additions & 3 deletions drivers/net/mlx4/mcg.c
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
u32 members_count;
struct mlx4_steer_index *new_entry;
struct mlx4_promisc_qp *pqp;
struct mlx4_promisc_qp *dqp;
struct mlx4_promisc_qp *dqp = NULL;
u32 prot;
int err;
u8 pf_num;
Expand Down Expand Up @@ -184,7 +184,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 vep_num, u8 port,
out_alloc:
if (dqp) {
list_del(&dqp->list);
kfree(&dqp);
kfree(dqp);
}
list_del(&new_entry->list);
kfree(new_entry);
Expand Down Expand Up @@ -469,7 +469,6 @@ static int remove_promisc_qp(struct mlx4_dev *dev, u8 vep_num, u8 port,

/*remove from list of promisc qps */
list_del(&pqp->list);
kfree(pqp);

/* set the default entry not to include the removed one */
mailbox = mlx4_alloc_cmd_mailbox(dev);
Expand Down Expand Up @@ -528,6 +527,8 @@ static int remove_promisc_qp(struct mlx4_dev *dev, u8 vep_num, u8 port,
out_list:
if (back_to_list)
list_add_tail(&pqp->list, &s_steer->promisc_qps[steer]);
else
kfree(pqp);
out_mutex:
mutex_unlock(&priv->mcg_table.mutex);
return err;
Expand Down
6 changes: 1 addition & 5 deletions drivers/net/starfire.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,7 @@ static int full_duplex[MAX_UNITS] = {0, };
/* Time in jiffies before concluding the transmitter is hung. */
#define TX_TIMEOUT (2 * HZ)

/*
* This SUCKS.
* We need a much better method to determine if dma_addr_t is 64-bit.
*/
#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))
#ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
/* 64-bit dma_addr_t */
#define ADDR_64BITS /* This chip uses 64 bit addresses. */
#define netdrv_addr_t __le64
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/cdc_eem.c
Original file line number Diff line number Diff line change
Expand Up @@ -340,7 +340,7 @@ static int eem_rx_fixup(struct usbnet *dev, struct sk_buff *skb)

static const struct driver_info eem_info = {
.description = "CDC EEM Device",
.flags = FLAG_ETHER,
.flags = FLAG_ETHER | FLAG_POINTTOPOINT,
.bind = eem_bind,
.rx_fixup = eem_rx_fixup,
.tx_fixup = eem_tx_fixup,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/cdc_ether.c
Original file line number Diff line number Diff line change
Expand Up @@ -452,7 +452,7 @@ static int cdc_manage_power(struct usbnet *dev, int on)

static const struct driver_info cdc_info = {
.description = "CDC Ethernet Device",
.flags = FLAG_ETHER,
.flags = FLAG_ETHER | FLAG_POINTTOPOINT,
// .check_connect = cdc_check_connect,
.bind = usbnet_cdc_bind,
.unbind = usbnet_cdc_unbind,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/cdc_ncm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1237,7 +1237,7 @@ static int cdc_ncm_manage_power(struct usbnet *dev, int status)

static const struct driver_info cdc_ncm_info = {
.description = "CDC NCM",
.flags = FLAG_NO_SETINT | FLAG_MULTI_PACKET,
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT | FLAG_MULTI_PACKET,
.bind = cdc_ncm_bind,
.unbind = cdc_ncm_unbind,
.check_connect = cdc_ncm_check_connect,
Expand Down
8 changes: 8 additions & 0 deletions drivers/net/usb/cdc_subset.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ static int always_connected (struct usbnet *dev)

static const struct driver_info ali_m5632_info = {
.description = "ALi M5632",
.flags = FLAG_POINTTOPOINT,
};

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

static const struct driver_info an2720_info = {
.description = "AnchorChips/Cypress 2720",
.flags = FLAG_POINTTOPOINT,
// no reset available!
// no check_connect available!

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

static const struct driver_info belkin_info = {
.description = "Belkin, eTEK, or compatible",
.flags = FLAG_POINTTOPOINT,
};

#endif /* CONFIG_USB_BELKIN */
Expand All @@ -157,6 +160,7 @@ static const struct driver_info belkin_info = {
static const struct driver_info epson2888_info = {
.description = "Epson USB Device",
.check_connect = always_connected,
.flags = FLAG_POINTTOPOINT,

.in = 4, .out = 3,
};
Expand All @@ -173,6 +177,7 @@ static const struct driver_info epson2888_info = {
#define HAVE_HARDWARE
static const struct driver_info kc2190_info = {
.description = "KC Technology KC-190",
.flags = FLAG_POINTTOPOINT,
};
#endif /* CONFIG_USB_KC2190 */

Expand Down Expand Up @@ -200,16 +205,19 @@ static const struct driver_info kc2190_info = {
static const struct driver_info linuxdev_info = {
.description = "Linux Device",
.check_connect = always_connected,
.flags = FLAG_POINTTOPOINT,
};

static const struct driver_info yopy_info = {
.description = "Yopy",
.check_connect = always_connected,
.flags = FLAG_POINTTOPOINT,
};

static const struct driver_info blob_info = {
.description = "Boot Loader OBject",
.check_connect = always_connected,
.flags = FLAG_POINTTOPOINT,
};

#endif /* CONFIG_USB_ARMLINUX */
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/gl620a.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ static int genelink_bind(struct usbnet *dev, struct usb_interface *intf)

static const struct driver_info genelink_info = {
.description = "Genesys GeneLink",
.flags = FLAG_FRAMING_GL | FLAG_NO_SETINT,
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_GL | FLAG_NO_SETINT,
.bind = genelink_bind,
.rx_fixup = genelink_rx_fixup,
.tx_fixup = genelink_tx_fixup,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/net1080.c
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,7 @@ static int net1080_bind(struct usbnet *dev, struct usb_interface *intf)

static const struct driver_info net1080_info = {
.description = "NetChip TurboCONNECT",
.flags = FLAG_FRAMING_NC,
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_NC,
.bind = net1080_bind,
.reset = net1080_reset,
.check_connect = net1080_check_connect,
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/plusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ static int pl_reset(struct usbnet *dev)

static const struct driver_info prolific_info = {
.description = "Prolific PL-2301/PL-2302",
.flags = FLAG_NO_SETINT,
.flags = FLAG_POINTTOPOINT | FLAG_NO_SETINT,
/* some PL-2302 versions seem to fail usb_set_interface() */
.reset = pl_reset,
};
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/usb/rndis_host.c
Original file line number Diff line number Diff line change
Expand Up @@ -573,7 +573,7 @@ EXPORT_SYMBOL_GPL(rndis_tx_fixup);

static const struct driver_info rndis_info = {
.description = "RNDIS device",
.flags = FLAG_ETHER | FLAG_FRAMING_RN | FLAG_NO_SETINT,
.flags = FLAG_ETHER | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT,
.bind = rndis_bind,
.unbind = rndis_unbind,
.status = rndis_status,
Expand Down
3 changes: 2 additions & 1 deletion drivers/net/usb/usbnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -1380,7 +1380,8 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod)
// else "eth%d" when there's reasonable doubt. userspace
// can rename the link if it knows better.
if ((dev->driver_info->flags & FLAG_ETHER) != 0 &&
(net->dev_addr [0] & 0x02) == 0)
((dev->driver_info->flags & FLAG_POINTTOPOINT) == 0 ||
(net->dev_addr [0] & 0x02) == 0))
strcpy (net->name, "eth%d");
/* WLAN devices should always be named "wlan%d" */
if ((dev->driver_info->flags & FLAG_WLAN) != 0)
Expand Down
8 changes: 4 additions & 4 deletions drivers/net/usb/zaurus.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ static int always_connected (struct usbnet *dev)

static const struct driver_info zaurus_sl5x00_info = {
.description = "Sharp Zaurus SL-5x00",
.flags = FLAG_FRAMING_Z,
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
.check_connect = always_connected,
.bind = zaurus_bind,
.unbind = usbnet_cdc_unbind,
Expand All @@ -112,7 +112,7 @@ static const struct driver_info zaurus_sl5x00_info = {

static const struct driver_info zaurus_pxa_info = {
.description = "Sharp Zaurus, PXA-2xx based",
.flags = FLAG_FRAMING_Z,
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
.check_connect = always_connected,
.bind = zaurus_bind,
.unbind = usbnet_cdc_unbind,
Expand All @@ -122,7 +122,7 @@ static const struct driver_info zaurus_pxa_info = {

static const struct driver_info olympus_mxl_info = {
.description = "Olympus R1000",
.flags = FLAG_FRAMING_Z,
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
.check_connect = always_connected,
.bind = zaurus_bind,
.unbind = usbnet_cdc_unbind,
Expand Down Expand Up @@ -258,7 +258,7 @@ static int blan_mdlm_bind(struct usbnet *dev, struct usb_interface *intf)

static const struct driver_info bogus_mdlm_info = {
.description = "pseudo-MDLM (BLAN) device",
.flags = FLAG_FRAMING_Z,
.flags = FLAG_POINTTOPOINT | FLAG_FRAMING_Z,
.check_connect = always_connected,
.tx_fixup = zaurus_tx_fixup,
.bind = blan_mdlm_bind,
Expand Down
4 changes: 4 additions & 0 deletions drivers/net/wireless/ath/ath9k/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1048,6 +1048,8 @@ static int ath9k_start(struct ieee80211_hw *hw)
"Starting driver with initial channel: %d MHz\n",
curchan->center_freq);

ath9k_ps_wakeup(sc);

mutex_lock(&sc->mutex);

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

ath9k_ps_restore(sc);

return r;
}

Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/ath/carl9170/carl9170.h
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,7 @@ struct carl9170_ba_stats {
u8 ampdu_len;
u8 ampdu_ack_len;
bool clear;
bool req;
};

struct carl9170_sta_info {
Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/ath/carl9170/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1355,6 +1355,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw,
tid_info = rcu_dereference(sta_info->agg[tid]);

sta_info->stats[tid].clear = true;
sta_info->stats[tid].req = false;

if (tid_info) {
bitmap_zero(tid_info->bitmap, CARL9170_BAW_SIZE);
Expand Down
7 changes: 7 additions & 0 deletions drivers/net/wireless/ath/carl9170/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,7 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,

if (sta_info->stats[tid].clear) {
sta_info->stats[tid].clear = false;
sta_info->stats[tid].req = false;
sta_info->stats[tid].ampdu_len = 0;
sta_info->stats[tid].ampdu_ack_len = 0;
}
Expand All @@ -391,10 +392,16 @@ static void carl9170_tx_status_process_ampdu(struct ar9170 *ar,
if (txinfo->status.rates[0].count == 1)
sta_info->stats[tid].ampdu_ack_len++;

if (!(txinfo->flags & IEEE80211_TX_STAT_ACK))
sta_info->stats[tid].req = true;

if (super->f.mac_control & cpu_to_le16(AR9170_TX_MAC_IMM_BA)) {
super->s.rix = sta_info->stats[tid].ampdu_len;
super->s.cnt = sta_info->stats[tid].ampdu_ack_len;
txinfo->flags |= IEEE80211_TX_STAT_AMPDU;
if (sta_info->stats[tid].req)
txinfo->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;

sta_info->stats[tid].clear = true;
}
spin_unlock_bh(&tid_info->lock);
Expand Down
10 changes: 10 additions & 0 deletions drivers/net/wireless/iwlegacy/iwl-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1805,6 +1805,15 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,

mutex_lock(&priv->mutex);

if (!ctx->vif || !iwl_legacy_is_ready_rf(priv)) {
/*
* Huh? But wait ... this can maybe happen when
* we're in the middle of a firmware restart!
*/
err = -EBUSY;
goto out;
}

interface_modes = ctx->interface_modes | ctx->exclusive_interface_modes;

if (!(interface_modes & BIT(newtype))) {
Expand Down Expand Up @@ -1832,6 +1841,7 @@ iwl_legacy_mac_change_interface(struct ieee80211_hw *hw,
/* success */
iwl_legacy_teardown_interface(priv, vif, true);
vif->type = newtype;
vif->p2p = newp2p;
err = iwl_legacy_setup_interface(priv, ctx);
WARN_ON(err);
/*
Expand Down
7 changes: 3 additions & 4 deletions drivers/net/wireless/iwlegacy/iwl3945-base.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ MODULE_LICENSE("GPL");
struct iwl_mod_params iwl3945_mod_params = {
.sw_crypto = 1,
.restart_fw = 1,
.disable_hw_scan = 1,
/* the rest are 0 by default */
};

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

Expand Down Expand Up @@ -4280,8 +4280,7 @@ MODULE_PARM_DESC(swcrypto,
"using software crypto (default 1 [software])");
module_param_named(disable_hw_scan, iwl3945_mod_params.disable_hw_scan,
int, S_IRUGO);
MODULE_PARM_DESC(disable_hw_scan,
"disable hardware scanning (default 0) (deprecated)");
MODULE_PARM_DESC(disable_hw_scan, "disable hardware scanning (default 1)");
#ifdef CONFIG_IWLWIFI_LEGACY_DEBUG
module_param_named(debug, iwlegacy_debug_level, uint, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(debug, "debug output mask");
Expand Down
Loading

0 comments on commit 083dd8b

Please sign in to comment.