aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2011-04-19 03:21:33 -0400
committerDavid S. Miller <davem@davemloft.net>2011-04-19 03:21:33 -0400
commite1943424e43974f85b82bb31eaf832823bf49ce7 (patch)
tree00a2dda7454ba186c0be4bfb8d08b7f74c3cd98c
parent88230fd586b4ccc5ffe6d6c2df8cdc495e89ad83 (diff)
parent0553c891fabd287726b41076cfd03fe7e5ab596f (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/bnx2x/bnx2x_ethtool.c
-rw-r--r--MAINTAINERS1
-rw-r--r--drivers/connector/connector.c1
-rw-r--r--drivers/net/bna/bfa_ioc.c31
-rw-r--r--drivers/net/bna/bfa_ioc.h1
-rw-r--r--drivers/net/bna/bfa_ioc_ct.c28
-rw-r--r--drivers/net/bna/bfi.h6
-rw-r--r--drivers/net/bna/bnad.c1
-rw-r--r--drivers/net/bnx2x/bnx2x_ethtool.c11
-rw-r--r--drivers/net/can/mscan/mpc5xxx_can.c2
-rw-r--r--drivers/net/loopback.c3
-rw-r--r--drivers/net/natsemi.c3
-rw-r--r--drivers/net/qlcnic/qlcnic.h1
-rw-r--r--drivers/net/qlcnic/qlcnic_main.c14
-rw-r--r--drivers/net/sfc/efx.c6
-rw-r--r--drivers/net/sfc/io.h2
-rw-r--r--drivers/net/sfc/net_driver.h2
-rw-r--r--drivers/net/sfc/nic.c22
-rw-r--r--drivers/net/sfc/nic.h1
-rw-r--r--drivers/net/sfc/selftest.c25
-rw-r--r--drivers/net/sfc/tx.c3
-rw-r--r--drivers/net/sis900.c23
-rw-r--r--drivers/net/wireless/ath/ath9k/hif_usb.c4
-rw-r--r--drivers/net/wireless/ath/ath9k/hw.c9
-rw-r--r--drivers/net/wireless/ath/ath9k/mac.c25
-rw-r--r--drivers/net/wireless/ath/ath9k/mac.h2
-rw-r--r--drivers/net/wireless/ath/ath9k/recv.c6
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-3945-hw.h2
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-4965-hw.h3
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-core.c17
-rw-r--r--drivers/net/wireless/iwlegacy/iwl-eeprom.c7
-rw-r--r--drivers/net/wireless/iwlegacy/iwl3945-base.c4
-rw-r--r--drivers/net/wireless/iwlegacy/iwl4965-base.c6
-rw-r--r--include/linux/usb/usbnet.h4
-rw-r--r--net/bridge/br_netfilter.c6
-rw-r--r--net/core/dev.c10
-rw-r--r--net/ieee802154/Makefile2
-rw-r--r--net/ipv4/inet_connection_sock.c5
-rw-r--r--net/ipv4/inetpeer.c13
-rw-r--r--net/ipv4/ip_options.c6
-rw-r--r--net/ipv4/sysctl_net_ipv4.c3
-rw-r--r--net/ipv6/inet6_connection_sock.c2
-rw-r--r--net/irda/af_irda.c3
-rw-r--r--net/llc/llc_input.c3
-rw-r--r--net/sctp/associola.c4
44 files changed, 197 insertions, 136 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index e1b056333b5..b5266ad5016 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -151,6 +151,7 @@ S: Maintained
151F: drivers/net/hamradio/6pack.c 151F: drivers/net/hamradio/6pack.c
152 152
1538169 10/100/1000 GIGABIT ETHERNET DRIVER 1538169 10/100/1000 GIGABIT ETHERNET DRIVER
154M: Realtek linux nic maintainers <nic_swsd@realtek.com>
154M: Francois Romieu <romieu@fr.zoreil.com> 155M: Francois Romieu <romieu@fr.zoreil.com>
155L: netdev@vger.kernel.org 156L: netdev@vger.kernel.org
156S: Maintained 157S: Maintained
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c
index d77005849af..219d88a0eea 100644
--- a/drivers/connector/connector.c
+++ b/drivers/connector/connector.c
@@ -142,6 +142,7 @@ static int cn_call_callback(struct sk_buff *skb)
142 cbq->callback(msg, nsp); 142 cbq->callback(msg, nsp);
143 kfree_skb(skb); 143 kfree_skb(skb);
144 cn_queue_release_callback(cbq); 144 cn_queue_release_callback(cbq);
145 err = 0;
145 } 146 }
146 147
147 return err; 148 return err;
diff --git a/drivers/net/bna/bfa_ioc.c b/drivers/net/bna/bfa_ioc.c
index c1c9e70eec2..ba2a4e13cf4 100644
--- a/drivers/net/bna/bfa_ioc.c
+++ b/drivers/net/bna/bfa_ioc.c
@@ -38,6 +38,8 @@
38#define bfa_ioc_map_port(__ioc) ((__ioc)->ioc_hwif->ioc_map_port(__ioc)) 38#define bfa_ioc_map_port(__ioc) ((__ioc)->ioc_hwif->ioc_map_port(__ioc))
39#define bfa_ioc_notify_fail(__ioc) \ 39#define bfa_ioc_notify_fail(__ioc) \
40 ((__ioc)->ioc_hwif->ioc_notify_fail(__ioc)) 40 ((__ioc)->ioc_hwif->ioc_notify_fail(__ioc))
41#define bfa_ioc_sync_start(__ioc) \
42 ((__ioc)->ioc_hwif->ioc_sync_start(__ioc))
41#define bfa_ioc_sync_join(__ioc) \ 43#define bfa_ioc_sync_join(__ioc) \
42 ((__ioc)->ioc_hwif->ioc_sync_join(__ioc)) 44 ((__ioc)->ioc_hwif->ioc_sync_join(__ioc))
43#define bfa_ioc_sync_leave(__ioc) \ 45#define bfa_ioc_sync_leave(__ioc) \
@@ -602,7 +604,7 @@ bfa_iocpf_sm_fwcheck(struct bfa_iocpf *iocpf, enum iocpf_event event)
602 switch (event) { 604 switch (event) {
603 case IOCPF_E_SEMLOCKED: 605 case IOCPF_E_SEMLOCKED:
604 if (bfa_ioc_firmware_lock(ioc)) { 606 if (bfa_ioc_firmware_lock(ioc)) {
605 if (bfa_ioc_sync_complete(ioc)) { 607 if (bfa_ioc_sync_start(ioc)) {
606 iocpf->retry_count = 0; 608 iocpf->retry_count = 0;
607 bfa_ioc_sync_join(ioc); 609 bfa_ioc_sync_join(ioc);
608 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit); 610 bfa_fsm_set_state(iocpf, bfa_iocpf_sm_hwinit);
@@ -1313,7 +1315,7 @@ bfa_nw_ioc_fwver_cmp(struct bfa_ioc *ioc, struct bfi_ioc_image_hdr *fwhdr)
1313 * execution context (driver/bios) must match. 1315 * execution context (driver/bios) must match.
1314 */ 1316 */
1315static bool 1317static bool
1316bfa_ioc_fwver_valid(struct bfa_ioc *ioc) 1318bfa_ioc_fwver_valid(struct bfa_ioc *ioc, u32 boot_env)
1317{ 1319{
1318 struct bfi_ioc_image_hdr fwhdr, *drv_fwhdr; 1320 struct bfi_ioc_image_hdr fwhdr, *drv_fwhdr;
1319 1321
@@ -1324,7 +1326,7 @@ bfa_ioc_fwver_valid(struct bfa_ioc *ioc)
1324 if (fwhdr.signature != drv_fwhdr->signature) 1326 if (fwhdr.signature != drv_fwhdr->signature)
1325 return false; 1327 return false;
1326 1328
1327 if (fwhdr.exec != drv_fwhdr->exec) 1329 if (swab32(fwhdr.param) != boot_env)
1328 return false; 1330 return false;
1329 1331
1330 return bfa_nw_ioc_fwver_cmp(ioc, &fwhdr); 1332 return bfa_nw_ioc_fwver_cmp(ioc, &fwhdr);
@@ -1351,9 +1353,12 @@ bfa_ioc_hwinit(struct bfa_ioc *ioc, bool force)
1351{ 1353{
1352 enum bfi_ioc_state ioc_fwstate; 1354 enum bfi_ioc_state ioc_fwstate;
1353 bool fwvalid; 1355 bool fwvalid;
1356 u32 boot_env;
1354 1357
1355 ioc_fwstate = readl(ioc->ioc_regs.ioc_fwstate); 1358 ioc_fwstate = readl(ioc->ioc_regs.ioc_fwstate);
1356 1359
1360 boot_env = BFI_BOOT_LOADER_OS;
1361
1357 if (force) 1362 if (force)
1358 ioc_fwstate = BFI_IOC_UNINIT; 1363 ioc_fwstate = BFI_IOC_UNINIT;
1359 1364
@@ -1361,10 +1366,10 @@ bfa_ioc_hwinit(struct bfa_ioc *ioc, bool force)
1361 * check if firmware is valid 1366 * check if firmware is valid
1362 */ 1367 */
1363 fwvalid = (ioc_fwstate == BFI_IOC_UNINIT) ? 1368 fwvalid = (ioc_fwstate == BFI_IOC_UNINIT) ?
1364 false : bfa_ioc_fwver_valid(ioc); 1369 false : bfa_ioc_fwver_valid(ioc, boot_env);
1365 1370
1366 if (!fwvalid) { 1371 if (!fwvalid) {
1367 bfa_ioc_boot(ioc, BFI_BOOT_TYPE_NORMAL, ioc->pcidev.device_id); 1372 bfa_ioc_boot(ioc, BFI_BOOT_TYPE_NORMAL, boot_env);
1368 return; 1373 return;
1369 } 1374 }
1370 1375
@@ -1395,7 +1400,7 @@ bfa_ioc_hwinit(struct bfa_ioc *ioc, bool force)
1395 /** 1400 /**
1396 * Initialize the h/w for any other states. 1401 * Initialize the h/w for any other states.
1397 */ 1402 */
1398 bfa_ioc_boot(ioc, BFI_BOOT_TYPE_NORMAL, ioc->pcidev.device_id); 1403 bfa_ioc_boot(ioc, BFI_BOOT_TYPE_NORMAL, boot_env);
1399} 1404}
1400 1405
1401void 1406void
@@ -1505,7 +1510,7 @@ bfa_ioc_hb_stop(struct bfa_ioc *ioc)
1505 */ 1510 */
1506static void 1511static void
1507bfa_ioc_download_fw(struct bfa_ioc *ioc, u32 boot_type, 1512bfa_ioc_download_fw(struct bfa_ioc *ioc, u32 boot_type,
1508 u32 boot_param) 1513 u32 boot_env)
1509{ 1514{
1510 u32 *fwimg; 1515 u32 *fwimg;
1511 u32 pgnum; 1516 u32 pgnum;
@@ -1556,10 +1561,10 @@ bfa_ioc_download_fw(struct bfa_ioc *ioc, u32 boot_type,
1556 /* 1561 /*
1557 * Set boot type and boot param at the end. 1562 * Set boot type and boot param at the end.
1558 */ 1563 */
1559 writel((swab32(swab32(boot_type))), ((ioc->ioc_regs.smem_page_start) 1564 writel(boot_type, ((ioc->ioc_regs.smem_page_start)
1560 + (BFI_BOOT_TYPE_OFF))); 1565