···25542554 mdef = er32(MDEF(i));2555255525562556 /* Ignore filters with anything other than IPMI ports */25572557- if (mdef & !(E1000_MDEF_PORT_623 | E1000_MDEF_PORT_664))25572557+ if (mdef & ~(E1000_MDEF_PORT_623 | E1000_MDEF_PORT_664))25582558 continue;2559255925602560 /* Enable this decision filter in MANC2H */
···10291029 return err;10301030}1031103110321032-static int enic_set_port_profile(struct enic *enic, u8 request, u8 *mac,10331033- char *name, u8 *instance_uuid, u8 *host_uuid)10321032+static int enic_set_port_profile(struct enic *enic, u8 *mac)10341033{10351034 struct vic_provinfo *vp;10361035 u8 oui[3] = VIC_PROVINFO_CISCO_OUI;···10391040 "%02X%02X-%02X%02X%02X%02X%0X%02X";10401041 int err;1041104210421042- if (!name)10431043- return -EINVAL;10441044-10451045- if (!is_valid_ether_addr(mac))10461046- return -EADDRNOTAVAIL;10471047-10481048- vp = vic_provinfo_alloc(GFP_KERNEL, oui, VIC_PROVINFO_LINUX_TYPE);10491049- if (!vp)10501050- return -ENOMEM;10511051-10521052- vic_provinfo_add_tlv(vp,10531053- VIC_LINUX_PROV_TLV_PORT_PROFILE_NAME_STR,10541054- strlen(name) + 1, name);10551055-10561056- vic_provinfo_add_tlv(vp,10571057- VIC_LINUX_PROV_TLV_CLIENT_MAC_ADDR,10581058- ETH_ALEN, mac);10591059-10601060- if (instance_uuid) {10611061- uuid = instance_uuid;10621062- sprintf(uuid_str, uuid_fmt,10631063- uuid[0], uuid[1], uuid[2], uuid[3],10641064- uuid[4], uuid[5], uuid[6], uuid[7],10651065- uuid[8], uuid[9], uuid[10], uuid[11],10661066- uuid[12], uuid[13], uuid[14], uuid[15]);10671067- vic_provinfo_add_tlv(vp,10681068- VIC_LINUX_PROV_TLV_CLIENT_UUID_STR,10691069- sizeof(uuid_str), uuid_str);10701070- }10711071-10721072- if (host_uuid) {10731073- uuid = host_uuid;10741074- sprintf(uuid_str, uuid_fmt,10751075- uuid[0], uuid[1], uuid[2], uuid[3],10761076- uuid[4], uuid[5], uuid[6], uuid[7],10771077- uuid[8], uuid[9], uuid[10], uuid[11],10781078- uuid[12], uuid[13], uuid[14], uuid[15]);10791079- vic_provinfo_add_tlv(vp,10801080- VIC_LINUX_PROV_TLV_HOST_UUID_STR,10811081- sizeof(uuid_str), uuid_str);10821082- }10831083-10841043 err = enic_vnic_dev_deinit(enic);10851044 if (err)10861086- goto err_out;10451045+ return err;1087104610881088- memset(&enic->pp, 0, sizeof(enic->pp));10471047+ switch (enic->pp.request) {1089104810901090- err = enic_dev_init_prov(enic, vp);10911091- if (err)10921092- goto err_out;10491049+ case PORT_REQUEST_ASSOCIATE:1093105010941094- enic->pp.request = request;10951095- memcpy(enic->pp.name, name, PORT_PROFILE_MAX);10961096- if (instance_uuid)10971097- memcpy(enic->pp.instance_uuid,10981098- instance_uuid, PORT_UUID_MAX);10991099- if (host_uuid)11001100- memcpy(enic->pp.host_uuid,11011101- host_uuid, PORT_UUID_MAX);10511051+ if (!(enic->pp.set & ENIC_SET_NAME) || !strlen(enic->pp.name))10521052+ return -EINVAL;1102105311031103-err_out:11041104- vic_provinfo_free(vp);10541054+ if (!is_valid_ether_addr(mac))10551055+ return -EADDRNOTAVAIL;1105105611061106- return err;11071107-}10571057+ vp = vic_provinfo_alloc(GFP_KERNEL, oui,10581058+ VIC_PROVINFO_LINUX_TYPE);10591059+ if (!vp)10601060+ return -ENOMEM;1108106111091109-static int enic_unset_port_profile(struct enic *enic)11101110-{11111111- memset(&enic->pp, 0, sizeof(enic->pp));11121112- return enic_vnic_dev_deinit(enic);10621062+ vic_provinfo_add_tlv(vp,10631063+ VIC_LINUX_PROV_TLV_PORT_PROFILE_NAME_STR,10641064+ strlen(enic->pp.name) + 1, enic->pp.name);10651065+10661066+ vic_provinfo_add_tlv(vp,10671067+ VIC_LINUX_PROV_TLV_CLIENT_MAC_ADDR,10681068+ ETH_ALEN, mac);10691069+10701070+ if (enic->pp.set & ENIC_SET_INSTANCE) {10711071+ uuid = enic->pp.instance_uuid;10721072+ sprintf(uuid_str, uuid_fmt,10731073+ uuid[0], uuid[1], uuid[2], uuid[3],10741074+ uuid[4], uuid[5], uuid[6], uuid[7],10751075+ uuid[8], uuid[9], uuid[10], uuid[11],10761076+ uuid[12], uuid[13], uuid[14], uuid[15]);10771077+ vic_provinfo_add_tlv(vp,10781078+ VIC_LINUX_PROV_TLV_CLIENT_UUID_STR,10791079+ sizeof(uuid_str), uuid_str);10801080+ }10811081+10821082+ if (enic->pp.set & ENIC_SET_HOST) {10831083+ uuid = enic->pp.host_uuid;10841084+ sprintf(uuid_str, uuid_fmt,10851085+ uuid[0], uuid[1], uuid[2], uuid[3],10861086+ uuid[4], uuid[5], uuid[6], uuid[7],10871087+ uuid[8], uuid[9], uuid[10], uuid[11],10881088+ uuid[12], uuid[13], uuid[14], uuid[15]);10891089+ vic_provinfo_add_tlv(vp,10901090+ VIC_LINUX_PROV_TLV_HOST_UUID_STR,10911091+ sizeof(uuid_str), uuid_str);10921092+ }10931093+10941094+ err = enic_dev_init_prov(enic, vp);10951095+ vic_provinfo_free(vp);10961096+ if (err)10971097+ return err;10981098+ break;10991099+11001100+ case PORT_REQUEST_DISASSOCIATE:11011101+ break;11021102+11031103+ default:11041104+ return -EINVAL;11051105+ }11061106+11071107+ enic->pp.set |= ENIC_SET_APPLIED;11081108+ return 0;11131109}1114111011151111static int enic_set_vf_port(struct net_device *netdev, int vf,11161112 struct nlattr *port[])11171113{11181114 struct enic *enic = netdev_priv(netdev);11191119- char *name = NULL;11201120- u8 *instance_uuid = NULL;11211121- u8 *host_uuid = NULL;11221122- u8 request = PORT_REQUEST_DISASSOCIATE;11151115+11161116+ memset(&enic->pp, 0, sizeof(enic->pp));11171117+11181118+ if (port[IFLA_PORT_REQUEST]) {11191119+ enic->pp.set |= ENIC_SET_REQUEST;11201120+ enic->pp.request = nla_get_u8(port[IFLA_PORT_REQUEST]);11211121+ }11221122+11231123+ if (port[IFLA_PORT_PROFILE]) {11241124+ enic->pp.set |= ENIC_SET_NAME;11251125+ memcpy(enic->pp.name, nla_data(port[IFLA_PORT_PROFILE]),11261126+ PORT_PROFILE_MAX);11271127+ }11281128+11291129+ if (port[IFLA_PORT_INSTANCE_UUID]) {11301130+ enic->pp.set |= ENIC_SET_INSTANCE;11311131+ memcpy(enic->pp.instance_uuid,11321132+ nla_data(port[IFLA_PORT_INSTANCE_UUID]), PORT_UUID_MAX);11331133+ }11341134+11351135+ if (port[IFLA_PORT_HOST_UUID]) {11361136+ enic->pp.set |= ENIC_SET_HOST;11371137+ memcpy(enic->pp.host_uuid,11381138+ nla_data(port[IFLA_PORT_HOST_UUID]), PORT_UUID_MAX);11391139+ }1123114011241141 /* don't support VFs, yet */11251142 if (vf != PORT_SELF_VF)11261143 return -EOPNOTSUPP;1127114411281128- if (port[IFLA_PORT_REQUEST])11291129- request = nla_get_u8(port[IFLA_PORT_REQUEST]);11451145+ if (!(enic->pp.set & ENIC_SET_REQUEST))11461146+ return -EOPNOTSUPP;1130114711311131- switch (request) {11321132- case PORT_REQUEST_ASSOCIATE:11481148+ if (enic->pp.request == PORT_REQUEST_ASSOCIATE) {1133114911341150 /* If the interface mac addr hasn't been assigned,11351151 * assign a random mac addr before setting port-···1153113911541140 if (is_zero_ether_addr(netdev->dev_addr))11551141 random_ether_addr(netdev->dev_addr);11561156-11571157- if (port[IFLA_PORT_PROFILE])11581158- name = nla_data(port[IFLA_PORT_PROFILE]);11591159-11601160- if (port[IFLA_PORT_INSTANCE_UUID])11611161- instance_uuid =11621162- nla_data(port[IFLA_PORT_INSTANCE_UUID]);11631163-11641164- if (port[IFLA_PORT_HOST_UUID])11651165- host_uuid = nla_data(port[IFLA_PORT_HOST_UUID]);11661166-11671167- return enic_set_port_profile(enic, request,11681168- netdev->dev_addr, name,11691169- instance_uuid, host_uuid);11701170-11711171- case PORT_REQUEST_DISASSOCIATE:11721172-11731173- return enic_unset_port_profile(enic);11741174-11751175- default:11761176- break;11771142 }1178114311791179- return -EOPNOTSUPP;11441144+ return enic_set_port_profile(enic, netdev->dev_addr);11801145}1181114611821147static int enic_get_vf_port(struct net_device *netdev, int vf,···11651172 int err, error, done;11661173 u16 response = PORT_PROFILE_RESPONSE_SUCCESS;1167117411681168- /* don't support VFs, yet */11691169- if (vf != PORT_SELF_VF)11701170- return -EOPNOTSUPP;11751175+ if (!(enic->pp.set & ENIC_SET_APPLIED))11761176+ return -ENODATA;1171117711721178 err = enic_dev_init_done(enic, &done, &error);11731173-11741179 if (err)11751175- return err;11801180+ error = err;1176118111771182 switch (error) {11781183 case ERR_SUCCESS:···1193120211941203 NLA_PUT_U16(skb, IFLA_PORT_REQUEST, enic->pp.request);11951204 NLA_PUT_U16(skb, IFLA_PORT_RESPONSE, response);11961196- NLA_PUT(skb, IFLA_PORT_PROFILE, PORT_PROFILE_MAX,11971197- enic->pp.name);11981198- NLA_PUT(skb, IFLA_PORT_INSTANCE_UUID, PORT_UUID_MAX,11991199- enic->pp.instance_uuid);12001200- NLA_PUT(skb, IFLA_PORT_HOST_UUID, PORT_UUID_MAX,12011201- enic->pp.host_uuid);12051205+ if (enic->pp.set & ENIC_SET_NAME)12061206+ NLA_PUT(skb, IFLA_PORT_PROFILE, PORT_PROFILE_MAX,12071207+ enic->pp.name);12081208+ if (enic->pp.set & ENIC_SET_INSTANCE)12091209+ NLA_PUT(skb, IFLA_PORT_INSTANCE_UUID, PORT_UUID_MAX,12101210+ enic->pp.instance_uuid);12111211+ if (enic->pp.set & ENIC_SET_HOST)12121212+ NLA_PUT(skb, IFLA_PORT_HOST_UUID, PORT_UUID_MAX,12131213+ enic->pp.host_uuid);1202121412031215 return 0;12041216
+4-3
drivers/net/epic100.c
···8787#include <linux/bitops.h>8888#include <asm/io.h>8989#include <asm/uaccess.h>9090+#include <asm/byteorder.h>90919192/* These identify the driver base version and may not be removed. */9293static char version[] __devinitdata =···231230 * The EPIC100 Rx and Tx buffer descriptors. Note that these232231 * really ARE host-endian; it's not a misannotation. We tell233232 * the card to byteswap them internally on big-endian hosts -234234- * look for #ifdef CONFIG_BIG_ENDIAN in epic_open().233233+ * look for #ifdef __BIG_ENDIAN in epic_open().235234 */236235237236struct epic_tx_desc {···691690 outl((inl(ioaddr + NVCTL) & ~0x003C) | 0x4800, ioaddr + NVCTL);692691693692 /* Tell the chip to byteswap descriptors on big-endian hosts */694694-#ifdef CONFIG_BIG_ENDIAN693693+#ifdef __BIG_ENDIAN695694 outl(0x4432 | (RX_FIFO_THRESH<<8), ioaddr + GENCTL);696695 inl(ioaddr + GENCTL);697696 outl(0x0432 | (RX_FIFO_THRESH<<8), ioaddr + GENCTL);···807806 for (i = 16; i > 0; i--)808807 outl(0x0008, ioaddr + TEST1);809808810810-#ifdef CONFIG_BIG_ENDIAN809809+#ifdef __BIG_ENDIAN811810 outl(0x0432 | (RX_FIFO_THRESH<<8), ioaddr + GENCTL);812811#else813812 outl(0x0412 | (RX_FIFO_THRESH<<8), ioaddr + GENCTL);
+8-8
drivers/net/fec.c
···1369136913701370 if (ndev) {13711371 fep = netdev_priv(ndev);13721372- if (netif_running(ndev)) {13731373- netif_device_detach(ndev);13741374- fec_stop(ndev);13751375- }13721372+ if (netif_running(ndev))13731373+ fec_enet_close(ndev);13741374+ clk_disable(fep->clk);13761375 }13771376 return 0;13781377}···13801381fec_resume(struct platform_device *dev)13811382{13821383 struct net_device *ndev = platform_get_drvdata(dev);13841384+ struct fec_enet_private *fep;1383138513841386 if (ndev) {13851385- if (netif_running(ndev)) {13861386- fec_enet_init(ndev, 0);13871387- netif_device_attach(ndev);13881388- }13871387+ fep = netdev_priv(ndev);13881388+ clk_enable(fep->clk);13891389+ if (netif_running(ndev))13901390+ fec_enet_open(ndev);13891391 }13901392 return 0;13911393}
···11881188 IXGBE_WRITE_REG(hw, IXGBE_RAH(index), rar_high);11891189 } else {11901190 hw_dbg(hw, "RAR index %d is out of range.\n", index);11911191+ return IXGBE_ERR_RAR_INDEX;11911192 }1192119311931194 return 0;···12201219 IXGBE_WRITE_REG(hw, IXGBE_RAH(index), rar_high);12211220 } else {12221221 hw_dbg(hw, "RAR index %d is out of range.\n", index);12221222+ return IXGBE_ERR_RAR_INDEX;12231223 }1224122412251225 /* clear VMDq pool/queue selection for this RAR */
+1-1
drivers/net/ixgbe/ixgbe_main.c
···642642 u32 txoff = IXGBE_TFCS_TXOFF;643643644644#ifdef CONFIG_IXGBE_DCB645645- if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) {645645+ if (adapter->dcb_cfg.pfc_mode_enable) {646646 int tc;647647 int reg_idx = tx_ring->reg_idx;648648 int dcb_i = adapter->ring_feature[RING_F_DCB].indices;
···559559 break;560560 udelay(25);561561 }562562+ /*563563+ * Some configurations require a small delay even after the write564564+ * completed indication or the next write might fail.565565+ */566566+ udelay(25);562567}563568564569static int mdio_read(void __iomem *ioaddr, int reg_addr)
···222222static int ath5k_tx_queue(struct ieee80211_hw *hw, struct sk_buff *skb,223223 struct ath5k_txq *txq);224224static int ath5k_reset(struct ath5k_softc *sc, struct ieee80211_channel *chan);225225-static int ath5k_reset_wake(struct ath5k_softc *sc);226225static int ath5k_start(struct ieee80211_hw *hw);227226static void ath5k_stop(struct ieee80211_hw *hw);228227static int ath5k_add_interface(struct ieee80211_hw *hw,···27692770{27702771 struct ath5k_softc *sc = (void *)data;2771277227722772- ath5k_reset_wake(sc);27732773+ ath5k_reset(sc, sc->curchan);27732774}2774277527752776/*···29402941 ath5k_beacon_config(sc);29412942 /* intrs are enabled by ath5k_beacon_config */2942294329442944+ ieee80211_wake_queues(sc->hw);29452945+29432946 return 0;29442947err:29452945- return ret;29462946-}29472947-29482948-static int29492949-ath5k_reset_wake(struct ath5k_softc *sc)29502950-{29512951- int ret;29522952-29532953- ret = ath5k_reset(sc, sc->curchan);29542954- if (!ret)29552955- ieee80211_wake_queues(sc->hw);29562956-29572948 return ret;29582949}29592950
+1-1
include/linux/netfilter/x_tables.h
···397397 * @stacksize jumps (number of user chains) can possibly be made.398398 */399399 unsigned int stacksize;400400- unsigned int *stackptr;400400+ unsigned int __percpu *stackptr;401401 void ***jumpstack;402402 /* ipt_entry tables: one per CPU */403403 /* Note : this field MUST be the last one, see XT_TABLE_INFO_SZ */
···303303 If unsure, say N.304304305305config SYN_COOKIES306306- bool "IP: TCP syncookie support (disabled per default)"306306+ bool "IP: TCP syncookie support"307307 ---help---308308 Normal TCP/IP networking is open to an attack known as "SYN309309 flooding". This denial-of-service attack prevents legitimate remote···328328 server is really overloaded. If this happens frequently better turn329329 them off.330330331331- If you say Y here, note that SYN cookies aren't enabled by default;332332- you can enable them by saying Y to "/proc file system support" and331331+ If you say Y here, you can disable SYN cookies at run time by332332+ saying Y to "/proc file system support" and333333 "Sysctl support" below and executing the command334334335335- echo 1 >/proc/sys/net/ipv4/tcp_syncookies335335+ echo 0 > /proc/sys/net/ipv4/tcp_syncookies336336337337- at boot time after the /proc file system has been mounted.337337+ after the /proc file system has been mounted.338338339339 If unsure, say N.340340