From: David S. Miller Date: Mon, 15 Jun 2009 10:02:23 +0000 (-0700) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 X-Git-Tag: v2.6.31-rc1~14^2~77 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb;p=linux-2.6-block.git Merge branch 'master' of /linux/kernel/git/torvalds/linux-2.6 Conflicts: Documentation/feature-removal-schedule.txt drivers/scsi/fcoe/fcoe.c net/core/drop_monitor.c net/core/net-traces.c --- 9cbc1cb8cd46ce1f7645b9de249b2ce8460129bb diff --cc Documentation/feature-removal-schedule.txt index edb2f0b07616,ec9ef5d0d7b3..7129846a2785 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt @@@ -438,9 -438,12 +438,19 @@@ Why: Superseded by tdfxfb. I2C/DDC supp Who: Jean Delvare Krzysztof Helt +--------------------------- + +What: CONFIG_RFKILL_INPUT +When: 2.6.33 +Why: Should be implemented in userspace, policy daemon. +Who: Johannes Berg ++ + ---------------------------- + + What: CONFIG_X86_OLD_MCE + When: 2.6.32 + Why: Remove the old legacy 32bit machine check code. This has been + superseded by the newer machine check code from the 64bit port, + but the old version has been kept around for easier testing. Note this + doesn't impact the old P5 and WinChip machine check handlers. + Who: Andi Kleen diff --cc drivers/net/bnx2.c index f99e17e0a319,3f5fcb0156a1..7e3738112c4e --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@@ -48,8 -48,11 +48,12 @@@ #include #include #include +#include + #if defined(CONFIG_CNIC) || defined(CONFIG_CNIC_MODULE) + #define BCM_CNIC 1 + #include "cnic_if.h" + #endif #include "bnx2.h" #include "bnx2_fw.h" diff --cc drivers/net/wireless/rt2x00/Kconfig index 18ee7d6c4028,1ae11c7f17af..8aab3e6754bd --- a/drivers/net/wireless/rt2x00/Kconfig +++ b/drivers/net/wireless/rt2x00/Kconfig @@@ -75,22 -75,8 +75,22 @@@ config RT73US This adds support for rt2501 wireless chipset family. Supported chips: RT2571W, RT2573 & RT2671. - When compiled as a module, this driver will be called "rt73usb.ko". + When compiled as a module, this driver will be called rt73usb. +config RT2800USB + tristate "Ralink rt2800 (USB) support" + depends on USB + select RT2X00_LIB_USB + select RT2X00_LIB_HT + select RT2X00_LIB_FIRMWARE + select RT2X00_LIB_CRYPTO + select CRC_CCITT + ---help--- + This adds support for rt2800 wireless chipset family. + Supported chips: RT2770, RT2870 & RT3070. + + When compiled as a module, this driver will be called "rt2800usb.ko". + config RT2X00_LIB_PCI tristate select RT2X00_LIB diff --cc drivers/of/Kconfig index 6fe043bd3770,27f3b81333de..d2fa27c5c1b2 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@@ -16,12 -16,6 +16,12 @@@ config OF_I2 config OF_SPI def_tristate SPI - depends on OF && PPC_OF && SPI + depends on OF && (PPC_OF || MICROBLAZE) && SPI help OpenFirmware SPI accessors + +config OF_MDIO + def_tristate PHYLIB + depends on OF && PHYLIB + help + OpenFirmware MDIO bus (Ethernet PHY) accessors diff --cc drivers/scsi/fcoe/fcoe.c index f791348871fc,e606b4829d44..c15878e88157 --- a/drivers/scsi/fcoe/fcoe.c +++ b/drivers/scsi/fcoe/fcoe.c @@@ -218,30 -166,18 +218,42 @@@ static int fcoe_lport_config(struct fc_ return 0; } +/** + * fcoe_netdev_cleanup() - clean up netdev configurations + * @fc: ptr to the fcoe_softc + */ +void fcoe_netdev_cleanup(struct fcoe_softc *fc) +{ + u8 flogi_maddr[ETH_ALEN]; + + /* Don't listen for Ethernet packets anymore */ + dev_remove_pack(&fc->fcoe_packet_type); + dev_remove_pack(&fc->fip_packet_type); + + /* Delete secondary MAC addresses */ + rtnl_lock(); + memcpy(flogi_maddr, (u8[6]) FC_FCOE_FLOGI_MAC, ETH_ALEN); + dev_unicast_delete(fc->real_dev, flogi_maddr); + if (!is_zero_ether_addr(fc->ctlr.data_src_addr)) + dev_unicast_delete(fc->real_dev, fc->ctlr.data_src_addr); + if (fc->ctlr.spma) + dev_unicast_delete(fc->real_dev, fc->ctlr.ctl_src_addr); + dev_mc_delete(fc->real_dev, FIP_ALL_ENODE_MACS, ETH_ALEN, 0); + rtnl_unlock(); +} + + /** + * fcoe_queue_timer() - fcoe queue timer + * @lp: the fc_lport pointer + * + * Calls fcoe_check_wait_queue on timeout + * + */ + static void fcoe_queue_timer(ulong lp) + { + fcoe_check_wait_queue((struct fc_lport *)lp, NULL); + } + /** * fcoe_netdev_config() - Set up netdev for SW FCoE * @lp : ptr to the fc_lport @@@ -313,24 -248,11 +325,25 @@@ static int fcoe_netdev_config(struct fc } skb_queue_head_init(&fc->fcoe_pending_queue); fc->fcoe_pending_queue_active = 0; + setup_timer(&fc->timer, fcoe_queue_timer, (unsigned long)lp); + /* look for SAN MAC address, if multiple SAN MACs exist, only + * use the first one for SPMA */ + rcu_read_lock(); + for_each_dev_addr(netdev, ha) { + if ((ha->type == NETDEV_HW_ADDR_T_SAN) && + (is_valid_ether_addr(fc->ctlr.ctl_src_addr))) { + memcpy(fc->ctlr.ctl_src_addr, ha->addr, ETH_ALEN); + fc->ctlr.spma = 1; + break; + } + } + rcu_read_unlock(); + /* setup Source Mac Address */ - memcpy(fc->ctlr.ctl_src_addr, fc->real_dev->dev_addr, - fc->real_dev->addr_len); + if (!fc->ctlr.spma) + memcpy(fc->ctlr.ctl_src_addr, fc->real_dev->dev_addr, + fc->real_dev->addr_len); wwnn = fcoe_wwn_from_mac(fc->real_dev->dev_addr, 1, 0); fc_set_wwnn(lp, wwnn); diff --cc drivers/scsi/fcoe/libfcoe.c index b9aa280100b0,929411880e4b..2f5bc7fd3fa9 --- a/drivers/scsi/fcoe/libfcoe.c +++ b/drivers/scsi/fcoe/libfcoe.c @@@ -427,12 -421,10 +427,12 @@@ static int fcoe_ctlr_encaps(struct fcoe memset(mac, 0, sizeof(mac)); mac->fd_desc.fip_dtype = FIP_DT_MAC; mac->fd_desc.fip_dlen = sizeof(*mac) / FIP_BPW; - if (dtype != ELS_FLOGI) + if (dtype != FIP_DT_FLOGI) memcpy(mac->fd_mac, fip->data_src_addr, ETH_ALEN); + else if (fip->spma) + memcpy(mac->fd_mac, fip->ctl_src_addr, ETH_ALEN); - skb->protocol = htons(ETH_P_802_3); + skb->protocol = htons(ETH_P_FIP); skb_reset_mac_header(skb); skb_reset_network_header(skb); return 0; diff --cc include/linux/Kbuild index 7e09c5c1ed02,b3afd2219ad2..a2df7030d49d --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@@ -308,10 -309,8 +309,9 @@@ unifdef-y += poll. unifdef-y += ppp_defs.h unifdef-y += ppp-comp.h unifdef-y += ptrace.h - unifdef-y += qnx4_fs.h unifdef-y += quota.h unifdef-y += random.h +unifdef-y += rfkill.h unifdef-y += irqnr.h unifdef-y += reboot.h unifdef-y += reiserfs_fs.h diff --cc include/linux/net_dropmon.h index e8a8b5c50ed0,0e2e100c44a2..3ceb0cc1bc78 --- a/include/linux/net_dropmon.h +++ b/include/linux/net_dropmon.h @@@ -1,8 -1,8 +1,9 @@@ #ifndef __NET_DROPMON_H #define __NET_DROPMON_H + #include #include +#include struct net_dm_drop_point { __u8 pc[8]; diff --cc include/trace/events/napi.h index 000000000000,000000000000..a8989c4547e7 new file mode 100644 --- /dev/null +++ b/include/trace/events/napi.h @@@ -1,0 -1,0 +1,11 @@@ ++#ifndef _TRACE_NAPI_H_ ++#define _TRACE_NAPI_H_ ++ ++#include ++#include ++ ++DECLARE_TRACE(napi_poll, ++ TP_PROTO(struct napi_struct *napi), ++ TP_ARGS(napi)); ++ ++#endif diff --cc net/core/dev.c index ea00e36f48e1,e2e9e4af3ace..576a61574a93 --- a/net/core/dev.c +++ b/net/core/dev.c @@@ -126,7 -126,6 +126,7 @@@ #include #include #include - #include ++#include #include "net-sysfs.h" diff --cc net/core/drop_monitor.c index a6c2ac2828fb,b75b6cea49da..9d66fa953ab7 --- a/net/core/drop_monitor.c +++ b/net/core/drop_monitor.c @@@ -22,10 -22,8 +22,10 @@@ #include #include #include +#include - #include - #include + #include ++#include #include diff --cc net/core/net-traces.c index b07b25bd2cde,499a67eaf3ae..f1e982c508bb --- a/net/core/net-traces.c +++ b/net/core/net-traces.c @@@ -25,9 -23,7 +23,10 @@@ #include #include + #define CREATE_TRACE_POINTS + #include ++#include - DEFINE_TRACE(kfree_skb); EXPORT_TRACEPOINT_SYMBOL_GPL(kfree_skb); + - DEFINE_TRACE(napi_poll); +EXPORT_TRACEPOINT_SYMBOL_GPL(napi_poll); diff --cc net/core/netpoll.c index 7ab31a7576a1,64f51eec6576..9675f312830d --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@@ -24,7 -24,6 +24,7 @@@ #include #include #include - #include ++#include /* * We maintain a small pool of fully-sized skbs, to make sure the