Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (150 commits) [PATCH] ipw2100: Update version ipw2100 stamp to 1.2.2 [PATCH] ipw2100: move mutex.h include from ipw2100.c to ipw2100.h [PATCH] ipw2100: semaphore to mutexes conversion [PATCH] ipw2100: Fix radiotap code gcc warning [PATCH] ipw2100: add radiotap headers to packtes captured in monitor mode [PATCH] ipw2x00: expend Copyright to 2006 [PATCH] drivers/net/wireless/ipw2200.c: fix an array overun [PATCH] ieee80211: Don't update network statistics from off-channel packets. [PATCH] ipw2200: Update ipw2200 version stamp to 1.1.1 [PATCH] ipw2200: switch to the new ipw2200-fw-3.0 image format [PATCH] ipw2200: wireless extension sensitivity threshold support [PATCH] ipw2200: Enables the "slow diversity" algorithm [PATCH] ipw2200: Set a meaningful silence threshold value [PATCH] ipw2200: export `debug' module param only if CONFIG_IPW2200_DEBUG [PATCH] ipw2200: Change debug level for firmware error logging [PATCH] ipw2200: Filter unsupported channels out in ad-hoc mode [PATCH] ipw2200: Fix ipw_sw_reset() implementation inconsistent with comment [PATCH] ipw2200: Fix rf_kill is activated after mode change with 'disable=1' [PATCH] ipw2200: remove the WPA card associates to non-WPA AP checking [PATCH] ipw2200: Add signal level to iwlist scan output ...
This commit is contained in:
@@ -206,7 +206,6 @@ struct ArcProto {
|
||||
|
||||
extern struct ArcProto *arc_proto_map[256], *arc_proto_default,
|
||||
*arc_bcast_proto, *arc_raw_proto;
|
||||
extern struct ArcProto arc_proto_null;
|
||||
|
||||
|
||||
/*
|
||||
@@ -334,17 +333,9 @@ void arcnet_dump_skb(struct net_device *dev, struct sk_buff *skb, char *desc);
|
||||
#define arcnet_dump_skb(dev,skb,desc) ;
|
||||
#endif
|
||||
|
||||
#if (ARCNET_DEBUG_MAX & D_RX) || (ARCNET_DEBUG_MAX & D_TX)
|
||||
void arcnet_dump_packet(struct net_device *dev, int bufnum, char *desc,
|
||||
int take_arcnet_lock);
|
||||
#else
|
||||
#define arcnet_dump_packet(dev, bufnum, desc,take_arcnet_lock) ;
|
||||
#endif
|
||||
|
||||
void arcnet_unregister_proto(struct ArcProto *proto);
|
||||
irqreturn_t arcnet_interrupt(int irq, void *dev_id, struct pt_regs *regs);
|
||||
struct net_device *alloc_arcdev(char *name);
|
||||
void arcnet_rx(struct net_device *dev, int bufnum);
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _LINUX_ARCDEVICE_H */
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
/* Private (from user) interface flags (netdevice->priv_flags). */
|
||||
#define IFF_802_1Q_VLAN 0x1 /* 802.1Q VLAN device. */
|
||||
#define IFF_EBRIDGE 0x2 /* Ethernet bridging device. */
|
||||
#define IFF_SLAVE_INACTIVE 0x4 /* bonding slave not the curr. active */
|
||||
#define IFF_MASTER_8023AD 0x8 /* bonding master, 802.3ad. */
|
||||
#define IFF_MASTER_ALB 0x10 /* bonding master, balance-alb. */
|
||||
|
||||
#define IF_GET_IFACE 0x0001 /* for querying only */
|
||||
#define IF_GET_PROTO 0x0002
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
|
||||
#define ETH_P_IPX 0x8137 /* IPX over DIX */
|
||||
#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
|
||||
#define ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */
|
||||
#define ETH_P_WCCP 0x883E /* Web-cache coordination protocol
|
||||
* defined in draft-wilson-wrec-wccp-v2-00.txt */
|
||||
#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
|
||||
|
||||
+11
-16
@@ -1214,6 +1214,7 @@ struct mv64xxx_i2c_pdata {
|
||||
#define MV643XX_ETH_FORCE_BP_MODE_NO_JAM 0
|
||||
#define MV643XX_ETH_FORCE_BP_MODE_JAM_TX (1<<7)
|
||||
#define MV643XX_ETH_FORCE_BP_MODE_JAM_TX_ON_RX_ERR (1<<8)
|
||||
#define MV643XX_ETH_SERIAL_PORT_CONTROL_RESERVED (1<<9)
|
||||
#define MV643XX_ETH_FORCE_LINK_FAIL 0
|
||||
#define MV643XX_ETH_DO_NOT_FORCE_LINK_FAIL (1<<10)
|
||||
#define MV643XX_ETH_RETRANSMIT_16_ATTEMPTS 0
|
||||
@@ -1243,6 +1244,8 @@ struct mv64xxx_i2c_pdata {
|
||||
#define MV643XX_ETH_SET_MII_SPEED_TO_10 0
|
||||
#define MV643XX_ETH_SET_MII_SPEED_TO_100 (1<<24)
|
||||
|
||||
#define MV643XX_ETH_MAX_RX_PACKET_MASK (0x7<<17)
|
||||
|
||||
#define MV643XX_ETH_PORT_SERIAL_CONTROL_DEFAULT_VALUE \
|
||||
MV643XX_ETH_DO_NOT_FORCE_LINK_PASS | \
|
||||
MV643XX_ETH_ENABLE_AUTO_NEG_FOR_DUPLX | \
|
||||
@@ -1285,23 +1288,15 @@ struct mv64xxx_i2c_pdata {
|
||||
#define MV643XX_ETH_NAME "mv643xx_eth"
|
||||
|
||||
struct mv643xx_eth_platform_data {
|
||||
/*
|
||||
* Non-values for mac_addr, phy_addr, port_config, etc.
|
||||
* override the default value. Setting the corresponding
|
||||
* force_* field, causes the default value to be overridden
|
||||
* even when zero.
|
||||
*/
|
||||
unsigned int force_phy_addr:1;
|
||||
unsigned int force_port_config:1;
|
||||
unsigned int force_port_config_extend:1;
|
||||
unsigned int force_port_sdma_config:1;
|
||||
unsigned int force_port_serial_control:1;
|
||||
int phy_addr;
|
||||
char *mac_addr; /* pointer to mac address */
|
||||
u32 port_config;
|
||||
u32 port_config_extend;
|
||||
u32 port_sdma_config;
|
||||
u32 port_serial_control;
|
||||
u16 force_phy_addr; /* force override if phy_addr == 0 */
|
||||
u16 phy_addr;
|
||||
|
||||
/* If speed is 0, then speed and duplex are autonegotiated. */
|
||||
int speed; /* 0, SPEED_10, SPEED_100, SPEED_1000 */
|
||||
int duplex; /* DUPLEX_HALF or DUPLEX_FULL */
|
||||
|
||||
/* non-zero values of the following fields override defaults */
|
||||
u32 tx_queue_size;
|
||||
u32 rx_queue_size;
|
||||
u32 tx_sram_addr;
|
||||
|
||||
+174
-3
@@ -220,6 +220,7 @@ struct ieee80211_snap_hdr {
|
||||
/* Authentication algorithms */
|
||||
#define WLAN_AUTH_OPEN 0
|
||||
#define WLAN_AUTH_SHARED_KEY 1
|
||||
#define WLAN_AUTH_LEAP 2
|
||||
|
||||
#define WLAN_AUTH_CHALLENGE_LEN 128
|
||||
|
||||
@@ -299,6 +300,23 @@ enum ieee80211_reasoncode {
|
||||
WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
|
||||
};
|
||||
|
||||
/* Action categories - 802.11h */
|
||||
enum ieee80211_actioncategories {
|
||||
WLAN_ACTION_SPECTRUM_MGMT = 0,
|
||||
/* Reserved 1-127 */
|
||||
/* Error 128-255 */
|
||||
};
|
||||
|
||||
/* Action details - 802.11h */
|
||||
enum ieee80211_actiondetails {
|
||||
WLAN_ACTION_CATEGORY_MEASURE_REQUEST = 0,
|
||||
WLAN_ACTION_CATEGORY_MEASURE_REPORT = 1,
|
||||
WLAN_ACTION_CATEGORY_TPC_REQUEST = 2,
|
||||
WLAN_ACTION_CATEGORY_TPC_REPORT = 3,
|
||||
WLAN_ACTION_CATEGORY_CHANNEL_SWITCH = 4,
|
||||
/* 5 - 255 Reserved */
|
||||
};
|
||||
|
||||
#define IEEE80211_STATMASK_SIGNAL (1<<0)
|
||||
#define IEEE80211_STATMASK_RSSI (1<<1)
|
||||
#define IEEE80211_STATMASK_NOISE (1<<2)
|
||||
@@ -377,6 +395,8 @@ struct ieee80211_rx_stats {
|
||||
u8 mask;
|
||||
u8 freq;
|
||||
u16 len;
|
||||
u64 tsf;
|
||||
u32 beacon_time;
|
||||
};
|
||||
|
||||
/* IEEE 802.11 requires that STA supports concurrent reception of at least
|
||||
@@ -608,6 +628,28 @@ struct ieee80211_auth {
|
||||
struct ieee80211_info_element info_element[0];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_channel_switch {
|
||||
u8 id;
|
||||
u8 len;
|
||||
u8 mode;
|
||||
u8 channel;
|
||||
u8 count;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_action {
|
||||
struct ieee80211_hdr_3addr header;
|
||||
u8 category;
|
||||
u8 action;
|
||||
union {
|
||||
struct ieee80211_action_exchange {
|
||||
u8 token;
|
||||
struct ieee80211_info_element info_element[0];
|
||||
} exchange;
|
||||
struct ieee80211_channel_switch channel_switch;
|
||||
|
||||
} format;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_disassoc {
|
||||
struct ieee80211_hdr_3addr header;
|
||||
__le16 reason;
|
||||
@@ -692,7 +734,15 @@ struct ieee80211_txb {
|
||||
/* QoS structure */
|
||||
#define NETWORK_HAS_QOS_PARAMETERS (1<<3)
|
||||
#define NETWORK_HAS_QOS_INFORMATION (1<<4)
|
||||
#define NETWORK_HAS_QOS_MASK (NETWORK_HAS_QOS_PARAMETERS | NETWORK_HAS_QOS_INFORMATION)
|
||||
#define NETWORK_HAS_QOS_MASK (NETWORK_HAS_QOS_PARAMETERS | \
|
||||
NETWORK_HAS_QOS_INFORMATION)
|
||||
|
||||
/* 802.11h */
|
||||
#define NETWORK_HAS_POWER_CONSTRAINT (1<<5)
|
||||
#define NETWORK_HAS_CSA (1<<6)
|
||||
#define NETWORK_HAS_QUIET (1<<7)
|
||||
#define NETWORK_HAS_IBSS_DFS (1<<8)
|
||||
#define NETWORK_HAS_TPC_REPORT (1<<9)
|
||||
|
||||
#define QOS_QUEUE_NUM 4
|
||||
#define QOS_OUI_LEN 3
|
||||
@@ -748,6 +798,91 @@ struct ieee80211_tim_parameters {
|
||||
|
||||
/*******************************************************/
|
||||
|
||||
enum { /* ieee80211_basic_report.map */
|
||||
IEEE80211_BASIC_MAP_BSS = (1 << 0),
|
||||
IEEE80211_BASIC_MAP_OFDM = (1 << 1),
|
||||
IEEE80211_BASIC_MAP_UNIDENTIFIED = (1 << 2),
|
||||
IEEE80211_BASIC_MAP_RADAR = (1 << 3),
|
||||
IEEE80211_BASIC_MAP_UNMEASURED = (1 << 4),
|
||||
/* Bits 5-7 are reserved */
|
||||
|
||||
};
|
||||
struct ieee80211_basic_report {
|
||||
u8 channel;
|
||||
__le64 start_time;
|
||||
__le16 duration;
|
||||
u8 map;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
enum { /* ieee80211_measurement_request.mode */
|
||||
/* Bit 0 is reserved */
|
||||
IEEE80211_MEASUREMENT_ENABLE = (1 << 1),
|
||||
IEEE80211_MEASUREMENT_REQUEST = (1 << 2),
|
||||
IEEE80211_MEASUREMENT_REPORT = (1 << 3),
|
||||
/* Bits 4-7 are reserved */
|
||||
};
|
||||
|
||||
enum {
|
||||
IEEE80211_REPORT_BASIC = 0, /* required */
|
||||
IEEE80211_REPORT_CCA = 1, /* optional */
|
||||
IEEE80211_REPORT_RPI = 2, /* optional */
|
||||
/* 3-255 reserved */
|
||||
};
|
||||
|
||||
struct ieee80211_measurement_params {
|
||||
u8 channel;
|
||||
__le64 start_time;
|
||||
__le16 duration;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_measurement_request {
|
||||
struct ieee80211_info_element ie;
|
||||
u8 token;
|
||||
u8 mode;
|
||||
u8 type;
|
||||
struct ieee80211_measurement_params params[0];
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_measurement_report {
|
||||
struct ieee80211_info_element ie;
|
||||
u8 token;
|
||||
u8 mode;
|
||||
u8 type;
|
||||
union {
|
||||
struct ieee80211_basic_report basic[0];
|
||||
} u;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_tpc_report {
|
||||
u8 transmit_power;
|
||||
u8 link_margin;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_channel_map {
|
||||
u8 channel;
|
||||
u8 map;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_ibss_dfs {
|
||||
struct ieee80211_info_element ie;
|
||||
u8 owner[ETH_ALEN];
|
||||
u8 recovery_interval;
|
||||
struct ieee80211_channel_map channel_map[0];
|
||||
};
|
||||
|
||||
struct ieee80211_csa {
|
||||
u8 mode;
|
||||
u8 channel;
|
||||
u8 count;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_quiet {
|
||||
u8 count;
|
||||
u8 period;
|
||||
u8 duration;
|
||||
u8 offset;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
struct ieee80211_network {
|
||||
/* These entries are used to identify a unique network */
|
||||
u8 bssid[ETH_ALEN];
|
||||
@@ -767,7 +902,7 @@ struct ieee80211_network {
|
||||
u8 rates_ex_len;
|
||||
unsigned long last_scanned;
|
||||
u8 mode;
|
||||
u8 flags;
|
||||
u32 flags;
|
||||
u32 last_associate;
|
||||
u32 time_stamp[2];
|
||||
u16 beacon_interval;
|
||||
@@ -779,6 +914,25 @@ struct ieee80211_network {
|
||||
u8 rsn_ie[MAX_WPA_IE_LEN];
|
||||
size_t rsn_ie_len;
|
||||
struct ieee80211_tim_parameters tim;
|
||||
|
||||
/* 802.11h info */
|
||||
|
||||
/* Power Constraint - mandatory if spctrm mgmt required */
|
||||
u8 power_constraint;
|
||||
|
||||
/* TPC Report - mandatory if spctrm mgmt required */
|
||||
struct ieee80211_tpc_report tpc_report;
|
||||
|
||||
/* IBSS DFS - mandatory if spctrm mgmt required and IBSS
|
||||
* NOTE: This is variable length and so must be allocated dynamically */
|
||||
struct ieee80211_ibss_dfs *ibss_dfs;
|
||||
|
||||
/* Channel Switch Announcement - optional if spctrm mgmt required */
|
||||
struct ieee80211_csa csa;
|
||||
|
||||
/* Quiet - optional if spctrm mgmt required */
|
||||
struct ieee80211_quiet quiet;
|
||||
|
||||
struct list_head list;
|
||||
};
|
||||
|
||||
@@ -924,7 +1078,10 @@ struct ieee80211_device {
|
||||
int (*handle_auth) (struct net_device * dev,
|
||||
struct ieee80211_auth * auth);
|
||||
int (*handle_deauth) (struct net_device * dev,
|
||||
struct ieee80211_auth * auth);
|
||||
struct ieee80211_deauth * auth);
|
||||
int (*handle_action) (struct net_device * dev,
|
||||
struct ieee80211_action * action,
|
||||
struct ieee80211_rx_stats * stats);
|
||||
int (*handle_disassoc) (struct net_device * dev,
|
||||
struct ieee80211_disassoc * assoc);
|
||||
int (*handle_beacon) (struct net_device * dev,
|
||||
@@ -1093,6 +1250,7 @@ extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
|
||||
extern void ieee80211_rx_mgt(struct ieee80211_device *ieee,
|
||||
struct ieee80211_hdr_4addr *header,
|
||||
struct ieee80211_rx_stats *stats);
|
||||
extern void ieee80211_network_reset(struct ieee80211_network *network);
|
||||
|
||||
/* ieee80211_geo.c */
|
||||
extern const struct ieee80211_geo *ieee80211_get_geo(struct ieee80211_device
|
||||
@@ -1105,6 +1263,11 @@ extern int ieee80211_is_valid_channel(struct ieee80211_device *ieee,
|
||||
extern int ieee80211_channel_to_index(struct ieee80211_device *ieee,
|
||||
u8 channel);
|
||||
extern u8 ieee80211_freq_to_channel(struct ieee80211_device *ieee, u32 freq);
|
||||
extern u8 ieee80211_get_channel_flags(struct ieee80211_device *ieee,
|
||||
u8 channel);
|
||||
extern const struct ieee80211_channel *ieee80211_get_channel(struct
|
||||
ieee80211_device
|
||||
*ieee, u8 channel);
|
||||
|
||||
/* ieee80211_wx.c */
|
||||
extern int ieee80211_wx_get_scan(struct ieee80211_device *ieee,
|
||||
@@ -1122,6 +1285,14 @@ extern int ieee80211_wx_set_encodeext(struct ieee80211_device *ieee,
|
||||
extern int ieee80211_wx_get_encodeext(struct ieee80211_device *ieee,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu, char *extra);
|
||||
extern int ieee80211_wx_set_auth(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu,
|
||||
char *extra);
|
||||
extern int ieee80211_wx_get_auth(struct net_device *dev,
|
||||
struct iw_request_info *info,
|
||||
union iwreq_data *wrqu,
|
||||
char *extra);
|
||||
|
||||
static inline void ieee80211_increment_scans(struct ieee80211_device *ieee)
|
||||
{
|
||||
|
||||
@@ -47,7 +47,8 @@ struct ieee80211_crypto_ops {
|
||||
/* deinitialize crypto context and free allocated private data */
|
||||
void (*deinit) (void *priv);
|
||||
|
||||
int (*build_iv) (struct sk_buff * skb, int hdr_len, void *priv);
|
||||
int (*build_iv) (struct sk_buff * skb, int hdr_len,
|
||||
u8 *key, int keylen, void *priv);
|
||||
|
||||
/* encrypt/decrypt return < 0 on error or >= 0 on success. The return
|
||||
* value from decrypt_mpdu is passed as the keyidx value for
|
||||
|
||||
Reference in New Issue
Block a user