Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a0abb93b authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
  net: The world is not perfect patch.
  tcp: Make prior_ssthresh a u32
  xfrm_user: Remove zero length key checks.
  net/ipv4/arp.c: Use common hex_asc helpers
  cassini: Only use chip checksum for ipv4 packets.
  tcp: TCP connection times out if ICMP frag needed is delayed
  netfilter: Move linux/types.h inclusions outside of #ifdef __KERNEL__
  af_key: Fix selector family initialization.
  libertas: Fix ethtool statistics
  mac80211: fix NULL pointer dereference in ieee80211_compatible_rates
  mac80211: don't claim iwspy support
  orinoco_cs: add ID for SpeedStream wireless adapters
  hostap_cs: add ID for Conceptronic CON11CPro
  rtl8187: resource leak in error case
  ath5k: Fix loop variable initializations
parents 9956c112 071f92d0
Loading
Loading
Loading
Loading
+7 −4
Original line number Original line Diff line number Diff line
@@ -142,8 +142,8 @@


#define DRV_MODULE_NAME		"cassini"
#define DRV_MODULE_NAME		"cassini"
#define PFX DRV_MODULE_NAME	": "
#define PFX DRV_MODULE_NAME	": "
#define DRV_MODULE_VERSION	"1.5"
#define DRV_MODULE_VERSION	"1.6"
#define DRV_MODULE_RELDATE	"4 Jan 2008"
#define DRV_MODULE_RELDATE	"21 May 2008"


#define CAS_DEF_MSG_ENABLE	  \
#define CAS_DEF_MSG_ENABLE	  \
	(NETIF_MSG_DRV		| \
	(NETIF_MSG_DRV		| \
@@ -2136,9 +2136,12 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
		if (addr)
		if (addr)
			cas_page_unmap(addr);
			cas_page_unmap(addr);
	}
	}
	skb->protocol = eth_type_trans(skb, cp->dev);
	if (skb->protocol == htons(ETH_P_IP)) {
		skb->csum = csum_unfold(~csum);
		skb->csum = csum_unfold(~csum);
		skb->ip_summed = CHECKSUM_COMPLETE;
		skb->ip_summed = CHECKSUM_COMPLETE;
	skb->protocol = eth_type_trans(skb, cp->dev);
	} else
		skb->ip_summed = CHECKSUM_NONE;
	return len;
	return len;
}
}


+2 −0
Original line number Original line Diff line number Diff line
@@ -1787,6 +1787,8 @@ ath5k_tasklet_rx(unsigned long data)


	spin_lock(&sc->rxbuflock);
	spin_lock(&sc->rxbuflock);
	do {
	do {
		rxs.flag = 0;

		if (unlikely(list_empty(&sc->rxbuf))) {
		if (unlikely(list_empty(&sc->rxbuf))) {
			ATH5K_WARN(sc, "empty rx buf pool\n");
			ATH5K_WARN(sc, "empty rx buf pool\n");
			break;
			break;
+4 −2
Original line number Original line Diff line number Diff line
@@ -4119,6 +4119,7 @@ static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah,
	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
		AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
		AR5K_5210_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
	rs->rs_status = 0;
	rs->rs_status = 0;
	rs->rs_phyerr = 0;


	/*
	/*
	 * Key table status
	 * Key table status
@@ -4145,7 +4146,7 @@ static int ath5k_hw_proc_5210_rx_status(struct ath5k_hw *ah,
		if (rx_status->rx_status_1 &
		if (rx_status->rx_status_1 &
				AR5K_5210_RX_DESC_STATUS1_PHY_ERROR) {
				AR5K_5210_RX_DESC_STATUS1_PHY_ERROR) {
			rs->rs_status |= AR5K_RXERR_PHY;
			rs->rs_status |= AR5K_RXERR_PHY;
			rs->rs_phyerr = AR5K_REG_MS(rx_status->rx_status_1,
			rs->rs_phyerr |= AR5K_REG_MS(rx_status->rx_status_1,
					   AR5K_5210_RX_DESC_STATUS1_PHY_ERROR);
					   AR5K_5210_RX_DESC_STATUS1_PHY_ERROR);
		}
		}


@@ -4193,6 +4194,7 @@ static int ath5k_hw_proc_5212_rx_status(struct ath5k_hw *ah,
	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
	rs->rs_tstamp = AR5K_REG_MS(rx_status->rx_status_1,
		AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
		AR5K_5212_RX_DESC_STATUS1_RECEIVE_TIMESTAMP);
	rs->rs_status = 0;
	rs->rs_status = 0;
	rs->rs_phyerr = 0;


	/*
	/*
	 * Key table status
	 * Key table status
@@ -4215,7 +4217,7 @@ static int ath5k_hw_proc_5212_rx_status(struct ath5k_hw *ah,
		if (rx_status->rx_status_1 &
		if (rx_status->rx_status_1 &
				AR5K_5212_RX_DESC_STATUS1_PHY_ERROR) {
				AR5K_5212_RX_DESC_STATUS1_PHY_ERROR) {
			rs->rs_status |= AR5K_RXERR_PHY;
			rs->rs_status |= AR5K_RXERR_PHY;
			rs->rs_phyerr = AR5K_REG_MS(rx_err->rx_error_1,
			rs->rs_phyerr |= AR5K_REG_MS(rx_err->rx_error_1,
					   AR5K_RX_DESC_ERROR1_PHY_ERROR_CODE);
					   AR5K_RX_DESC_ERROR1_PHY_ERROR_CODE);
		}
		}


+1 −0
Original line number Original line Diff line number Diff line
@@ -833,6 +833,7 @@ static struct pcmcia_device_id hostap_cs_ids[] = {
	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x0001),
	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x0001),
	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300),
	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300),
/*	PCMCIA_DEVICE_MANF_CARD(0xc00f, 0x0000),    conflict with pcnet_cs */
/*	PCMCIA_DEVICE_MANF_CARD(0xc00f, 0x0000),    conflict with pcnet_cs */
	PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002),
	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002),
	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002),
	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005),
	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005),
	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0010),
	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0010),
+13 −14
Original line number Original line Diff line number Diff line
@@ -74,7 +74,7 @@ static int lbs_ethtool_get_eeprom(struct net_device *dev,
}
}


static void lbs_ethtool_get_stats(struct net_device *dev,
static void lbs_ethtool_get_stats(struct net_device *dev,
				struct ethtool_stats * stats, u64 * data)
				  struct ethtool_stats *stats, uint64_t *data)
{
{
	struct lbs_private *priv = dev->priv;
	struct lbs_private *priv = dev->priv;
	struct cmd_ds_mesh_access mesh_access;
	struct cmd_ds_mesh_access mesh_access;
@@ -83,12 +83,12 @@ static void lbs_ethtool_get_stats(struct net_device * dev,
	lbs_deb_enter(LBS_DEB_ETHTOOL);
	lbs_deb_enter(LBS_DEB_ETHTOOL);


	/* Get Mesh Statistics */
	/* Get Mesh Statistics */
	ret = lbs_prepare_and_send_command(priv,
	ret = lbs_mesh_access(priv, CMD_ACT_MESH_GET_STATS, &mesh_access);
			CMD_MESH_ACCESS, CMD_ACT_MESH_GET_STATS,
			CMD_OPTION_WAITFORRSP, 0, &mesh_access);


	if (ret)
	if (ret) {
		memset(data, 0, MESH_STATS_NUM*(sizeof(uint64_t)));
		return;
		return;
	}


	priv->mstats.fwd_drop_rbt = le32_to_cpu(mesh_access.data[0]);
	priv->mstats.fwd_drop_rbt = le32_to_cpu(mesh_access.data[0]);
	priv->mstats.fwd_drop_ttl = le32_to_cpu(mesh_access.data[1]);
	priv->mstats.fwd_drop_ttl = le32_to_cpu(mesh_access.data[1]);
@@ -113,17 +113,16 @@ static void lbs_ethtool_get_stats(struct net_device * dev,


static int lbs_ethtool_get_sset_count(struct net_device *dev, int sset)
static int lbs_ethtool_get_sset_count(struct net_device *dev, int sset)
{
{
	switch (sset) {
	struct lbs_private *priv = dev->priv;
	case ETH_SS_STATS:

	if (sset == ETH_SS_STATS && dev == priv->mesh_dev)
		return MESH_STATS_NUM;
		return MESH_STATS_NUM;
	default:

	return -EOPNOTSUPP;
	return -EOPNOTSUPP;
}
}
}


static void lbs_ethtool_get_strings(struct net_device *dev,
static void lbs_ethtool_get_strings(struct net_device *dev,
					  u32 stringset,
				    uint32_t stringset, uint8_t *s)
					  u8 * s)
{
{
	int i;
	int i;


Loading