summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-11-28atm: add owner of push() callback to atmvccKrzysztof Mazur2-0/+3
The atm is using atmvcc->push(vcc, NULL) callback to notify protocol that vcc will be closed and protocol must detach from it. This callback is usually used by protocol to decrement module usage count by module_put(), but it leaves small window then module is still used after module_put(). Now the owner of push() callback is kept in atmvcc and module_put(atmvcc->owner) is called after the protocol is detached from vcc. Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Acked-by: Chas Williams <chas@cmf.nrl.navy.mil>
2012-11-27atm: br2684: Fix excessive queue bloatDavid Woodhouse1-14/+22
There's really no excuse for an additional wmem_default of buffering between the netdev queue and the ATM device. Two packets (one in-flight, and one ready to send) ought to be fine. It's not as if it should take long to get another from the netdev queue when we need it. If necessary we can make the queue space configurable later, but I don't think it's likely to be necessary. cf. commit 9d02daf754238adac48fa075ee79e7edd3d79ed3 (pppoatm: Fix excessive queue bloat) which did something very similar for PPPoATM. Note that there is a tremendously unlikely race condition which may result in qspace temporarily going negative. If a CPU running the br2684_pop() function goes off into the weeds for a long period of time after incrementing qspace to 1, but before calling netdev_wake_queue()... and another CPU ends up calling br2684_start_xmit() and *stopping* the queue again before the first CPU comes back, the netdev queue could end up being woken when qspace has already reached zero. An alternative approach to coping with this race would be to check in br2684_start_xmit() for qspace==0 and return NETDEV_TX_BUSY, but just using '> 0' and '< 1' for comparison instead of '== 0' and '!= 0' is simpler. It just warranted a mention of *why* we do it that way... Move the call to atmvcc->send() to happen *after* the accounting and potentially stopping the netdev queue, in br2684_xmit_vcc(). This matters if the ->send() call suffers an immediate failure, because it'll call br2684_pop() with the offending skb before returning. We want that to happen *after* we've done the initial accounting for the packet in question. Also make it return an appropriate success/failure indication while we're at it. Tested by running 'ping -l 1000 bottomless.aaisp.net.uk' from within my network, with only a single PPPoE-over-BR2684 link running. And after setting txqueuelen on the nas0 interface to something low (5, in fact). Before the patch, we'd see about 15 packets being queued and a resulting latency of ~56ms being reached. After the patch, we see only about 8, which is fairly much what we expect. And a max latency of ~36ms. On this OpenWRT box, wmem_default is 163840. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Reviewed-by: Krzysztof Mazur <krzysiek@podlesie.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-27dsa: Hide core config options; make drivers select what they needBen Hutchings2-17/+17
Commit 82167cb8c6b2f8166d5c7532e5ef4b5e0cc46a72 ('net: dsa/slave: Fix compilation warnings') fixed one possible invalid configuration (NET_DSA enabled with no trailer formats) but added others: drivers can select NET_DSA without its dependencies being met. It's not very useful to make either the DSA core or the tagging formats manually selectable without a driver to use them, so: 1. Define a hidden HAVE_NET_DSA option and move the dependencies of NET_DSA to that. While we're at it, drop the deprecated EXPERIMENTAL dependency. 2. Make NET_DSA and the drivers dependent on HAVE_NET_DSA. 3. Hide the tagging format options again. 4. Make drivers select both NET_DSA and the appropriate tagging format option. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26ipv4/ipmr and ipv6/ip6mr: Convert int mroute_do_<foo> to boolJoe Perches2-6/+6
Save a few bytes per table by convert mroute_do_assert and mroute_do_pim from int to bool. Remove !! as the compiler does that when assigning int to bool. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26ipv4: ipmr: various fixes and cleanupsEric Dumazet1-7/+17
1) ip_mroute_setsockopt() & ip_mroute_getsockopt() should not access/set raw_sk(sk)->ipmr_table before making sure the socket is a raw socket, and protocol is IGMP 2) MRT_INIT should return -EINVAL if optlen != sizeof(int), not -ENOPROTOOPT 3) MRT_ASSERT & MRT_PIM should validate optlen 4) " (v) ? 1 : 0 " can be written as " !!v " Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26MAINTAINERS: Add Q: patchwork entries for net/ and drivers/net/Joe Perches1-1/+2
Add the netdev patchwork entries for networking drivers. Change the W: entry to Q:for networking. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26smsc: Add logging message newlinesJoe Perches2-291/+296
Avoid any possible message logging interleaving by adding missing newlines. Align arguments. Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26qlcnic: fix sparse check endian warningsShahed Shaikh6-221/+300
Signed-off-by: Shahed Shaikh <shahed.shaikh@qlogic.com> Signed-off-by: Sony Chacko <sony.chacko@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26net: dsa/slave: Fix compilation warningsviresh kumar2-8/+9
Currently when none of CONFIG_NET_DSA_TAG_DSA, CONFIG_NET_DSA_TAG_EDSA and CONFIG_NET_DSA_TAG_TRAILER is defined, we get following compilation warnings: net/dsa/slave.c:51:12: warning: 'dsa_slave_init' defined but not used [-Wunused-function] net/dsa/slave.c:60:12: warning: 'dsa_slave_open' defined but not used [-Wunused-function] net/dsa/slave.c:98:12: warning: 'dsa_slave_close' defined but not used [-Wunused-function] net/dsa/slave.c:116:13: warning: 'dsa_slave_change_rx_flags' defined but not used [-Wunused-function] net/dsa/slave.c:127:13: warning: 'dsa_slave_set_rx_mode' defined but not used [-Wunused-function] net/dsa/slave.c:136:12: warning: 'dsa_slave_set_mac_address' defined but not used [-Wunused-function] net/dsa/slave.c:164:12: warning: 'dsa_slave_ioctl' defined but not used [-Wunused-function] Earlier approach to fix this was discussed here: lkml.org/lkml/2012/10/29/549 This is another approach to fix it. This is done by some changes in config options, which make more sense than the earlier approach. As, atleast one tagging option must always be selected for using net/dsa/ infrastructure, this patch selects NET_DSA from tagging configs instead of having it as an selectable config. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26net: sched: enable CAN Identifier to be build into kernelMarc Kleine-Budde1-1/+1
This patch makes it possible to build the CAN Identifier into the kernel, even if the CAN support is build as a module. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-268139cp: re-enable interrupts after tx timeoutDavid Woodhouse1-0/+1
Recovery doesn't work too well if we leave interrupts disabled... Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Acked-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-268139cp: enable bqlDavid Woodhouse1-0/+11
This adds support for byte queue limits on RTL8139C+ Tested on real hardware. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Acked-By: Dave Täht <dave.taht@bufferbloat.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-268139cp: set ring address after enabling C+ modeDavid Woodhouse1-12/+28
This fixes (for me) a regression introduced by commit b01af457 ("8139cp: set ring address before enabling receiver"). That commit configured the descriptor ring addresses earlier in the initialisation sequence, in order to avoid the possibility of triggering stray DMA before the correct address had been set up. Unfortunately, it seems that the hardware will scribble garbage into the TxRingAddr registers when we enable "plus mode" Tx in the CpCmd register. Observed on a Traverse Geos router board. To deal with this, while not reintroducing the problem which led to the original commit, we augment cp_start_hw() to write to the CpCmd register *first*, then set the descriptor ring addresses, and then finally to enable Rx and Tx in the original 8139 Cmd register. The datasheet actually indicates that we should enable Tx/Rx in the Cmd register *before* configuring the descriptor addresses, but that would appear to re-introduce the problem that the offending commit b01af457 was trying to solve. And this variant appears to work fine on real hardware. Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Cc: stable@kernel.org [3.5+] Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-26Revert "8139cp: revert "set ring address before enabling receiver""David S. Miller1-11/+11
This reverts commit b26623dab7eeb1e9f5898c7a49458789dd492f20. This reverts the revert, in net-next we'll try another scheme to fix this bug using patches from David Woodhouse. Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-25Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller155-572/+1384
Conflicts: drivers/net/wireless/iwlwifi/pcie/tx.c Minor iwlwifi conflict in TX queue disabling between 'net', which removed a bogus warning, and 'net-next' which added some status register poking code. Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-24Merge tag 'sound-3.7' of ↵Linus Torvalds1-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound build error fix from Takashi Iwai: "Only a single commit for fixing the build error without CONFIG_PM in hda driver." * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix build without CONFIG_PM
2012-11-24ALSA: hda - Fix build without CONFIG_PMTakashi Iwai1-2/+4
I forgot this again... codec->in_pm is in #ifdef CONFIG_PM Reported-by: Markus Trippelsdorf <markus@trippelsdorf.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-11-24Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds16-49/+131
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 arch fixes from Peter Anvin: "Here is a collection of fixes for 3.7-rc7. This is a superset of tglx' earlier pull request." * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86-64: Fix ordering of CFI directives and recent ASM_CLAC additions x86, microcode, AMD: Add support for family 16h processors x86-32: Export kernel_stack_pointer() for modules x86-32: Fix invalid stack address while in softirq x86, efi: Fix processor-specific memcpy() build error x86: remove dummy long from EFI stub x86, mm: Correct vmflag test for checking VM_HUGETLB x86, amd: Disable way access filter on Piledriver CPUs x86/mce: Do not change worker's running cpu in cmci_rediscover(). x86/ce4100: Fix PCI configuration register access for devices without interrupts x86/ce4100: Fix reboot by forcing the reboot method to be KBD x86/ce4100: Fix pm_poweroff MAINTAINERS: Update email address for Robert Richter x86, microcode_amd: Change email addresses, MAINTAINERS entry MAINTAINERS: Change Boris' email address EDAC: Change Boris' email address x86, AMD: Change Boris' email address
2012-11-24Merge tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6Linus Torvalds5-25/+30
Pull MTD fixes from David Woodhouse: "The most important part of this is that it fixes a regression in Samsung NAND chip detection, introduced by some rework which went into 3.7. The initial fix wasn't quite complete, so it's in two parts. In fact the first part is committed twice (Artem committed his own copy of the same patch) and I've merged Artem's tree into mine which already had that fix. I'd have recommitted that to make it somewhat cleaner, but figured by this point in the release cycle it was better to merge *exactly* the commits which have been in linux-next. If I'd recommitted, I'd also omit the sparse warning fix. But it's there, and it's harmless — just marking one function as 'static' in onenand code. This also includes a couple more fixes for stable: an AB-BA deadlock in JFFS2, and an invalid range check in slram." * tag 'for-linus-20121123' of git://git.infradead.org/mtd-2.6: mtd: nand: fix Samsung SLC detection regression mtd: nand: fix Samsung SLC NAND identification regression jffs2: Fix lock acquisition order bug in jffs2_write_begin mtd: onenand: Make flexonenand_set_boundary static mtd: slram: invalid checking of absolute end address mtd: ofpart: Fix incorrect NULL check in parse_ofoldpart_partitions() mtd: nand: fix Samsung SLC NAND identification regression
2012-11-24Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds2-1/+6
Pull device tree regression fix from Grant Likely: "Simple build regression fix for DT device drivers on Sparc. An earlier change had masked out the of_iomap() helper on SPARC." * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux-2.6: of/address: sparc: Declare of_iomap as an extern function for sparc again
2012-11-24Merge tag 'pm-for-3.7-rc7' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull power management update from Rafael Wysocki: "Fix for an incorrect error condition check in device PM QoS code that may lead to an Oops from Guennadi Liakhovetski." * tag 'pm-for-3.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: PM / QoS: fix wrong error-checking condition
2012-11-24Merge tag 'md-3.7-fixes' of git://neil.brown.name/mdLinus Torvalds3-105/+132
Pull md fixes from NeilBrown: "Several bug fixes for md in 3.7: - raid5 discard has problems - raid10 replacement devices have problems - bad block lock seqlock usage has problems - dm-raid doesn't free everything" * tag 'md-3.7-fixes' of git://neil.brown.name/md: md/raid10: decrement correct pending counter when writing to replacement. md/raid10: close race that lose writes lost when replacement completes. md/raid5: Make sure we clear R5_Discard when discard is finished. md/raid5: move resolving of reconstruct_state earlier in stripe_handle. md/raid5: round discard alignment up to power of 2. md: make sure everything is freed when dm-raid stops an array. md: Avoid write invalid address if read_seqretry returned true. md: Reassigned the parameters if read_seqretry returned true in func md_is_badblock.
2012-11-24Merge branch 'for-linus' of git://git.kernel.dk/linux-blockLinus Torvalds6-14/+33
Pull block layer fixes from Jens Axboe: "Distilled down version of bug fixes for 3.7. The patches have been well tested. If you notice that commit dates are from today, it's because I pulled less important bits out and shuffled them into the 3.8 mix. Apart from that, no changes, base still the same. It contains: - Fix for aoe, don't run request_fn while it's plugged. - Fix for a regression in floppy since 3.6, which causes problems if no floppy is found. - Stable fix for blk_exec(), don't touch a request after it has been sent to the scheduler (and the device as well). - Five fixes for various nasties in mtip32xx." * 'for-linus' of git://git.kernel.dk/linux-block: block: Don't access request after it might be freed mtip32xx: Fix padding issue aoe: avoid running request handler on plugged queue mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function() mtip32xx: fix shift larger than type warning mtip32xx: Fix incorrect mask used for erase mode mtip32xx: Fix to make lba address correct in big-endian systems mtip32xx: fix potential crash on SEC_ERASE_UNIT dm: fix deadlock with request based dm and queue request_fn recursion floppy: destroy floppy workqueue before cleaning up the queue
2012-11-24of/address: sparc: Declare of_iomap as an extern function for sparc againAndreas Larsson2-1/+6
This bug-fix makes sure that of_iomap is defined extern for sparc so that the sparc-specific implementation of_iomap is once again used when including include/linux/of_address.h in a sparc context. OF_GPIO that is now available for sparc relies on this. The bug was inadvertently introduced in a850a75, "of/address: add empty static inlines for !CONFIG_OF", that added a static dummy inline for of_iomap when !CONFIG_OF_ADDRESS. However, CONFIG_OF_ADDRESS is never defined for sparc, but there is a sparc-specific implementation /arch/sparc/kernel/of_device_common.c. This fix takes the same approach as 0bce04b that solved the equivalent problem for of_address_to_resource. Signed-off-by: Andreas Larsson <andreas@gaisler.com> Acked-by: David Miller <davem@davemloft.net> Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2012-11-24Merge tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linuxLinus Torvalds4-11/+26
Pull omapdss fixes from Tomi Valkeinen: "Here are a few OMAPDSS fixes for the next -rc. I'm sending these directly to you, and quite late, as the fbdev tree maintainer (Florian) has been busy with his work and hasn't had time to manage the fb patches." * tag 'omapdss-for-3.7-rc' of git://gitorious.org/linux-omap-dss2/linux: OMAPDSS: do not fail if dpll4_m4_ck is missing OMAPFB: Fix possible null pointer dereferencing OMAPDSS: HDMI: fix missing unlock on error in hdmi_dump_regs() omapdss: dss: Fix clocks on OMAP363x OMAPDSS: DSI: fix dsi_get_dsidev_from_id()
2012-11-24Merge branch 'i2c-embedded/for-current' of ↵Linus Torvalds6-20/+48
git://git.pengutronix.de/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Bugfixes for the i2c subsystem. Except for a few one-liners, there is mainly one revert because of an overlooked dependency. Since there is no linux-next at the moment, I did some extra testing, and all was fine for me." * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux: i2c: mxs: Handle i2c DMA failure properly i2c: s3c2410: Fix code to free gpios i2c: omap: ensure writes to dev->buf_len are ordered Revert "ARM: OMAP: convert I2C driver to PM QoS for MPU latency constraints" i2c: at91: fix SMBus quick command
2012-11-24Merge tag 'sound-3.7' of ↵Linus Torvalds12-75/+84
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "The highlight of this update is the fixes for ASoC kirkwood by Russell. In addition to that, a couple of regression fixes for HD-audio due to the runtime PM support on 3.7, and other driver- specific regression fixes like USB MIDI on non-standard USB audio drivers." * tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: snd-usb: properly initialize the sync endpoint ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker ALSA: hda - Add support for Realtek ALC292 ASoC: kirkwood-i2s: more pause-mode fixes ASoC: kirkwood-i2s: fix DMA underruns ASoC: kirkwood-i2s: fix DCO lock detection ASoC: kirkwood-dma: don't ignore other irq causes on error ASoC: kirkwood-dma: fix use of virt_to_phys() ALSA: hda - Limit runtime PM support only to known Intel chips ALSA: hda - Fix recursive suspend/resume call ALSA: ua101, usx2y: fix broken MIDI output ASoC: arizona: Fix typo - Swap value in 48k_rates[] and 44k1_rates[] ASoC: bells: Fix up git patch application failure ASoC: cs4271: free allocated GPIO
2012-11-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds11-46/+43
Pull networkign fixes from David Miller: "Networking bug fixes, Cacio e Pepe edition: 1) BNX2X accidently accesses chip rev specific registers without an appropriate guard, fix from Ariel Elior. 2) When we removed the routing cache, we set ip_rt_max_size to ~0 just to keep reporting a value to userspace via sysfs. But the ipv4 IPSEC layer was using this to tune itself which is completely bogus to now do. Fix from Steffen Klassert. 3) Missing initialization in netfilter ipset code from Jozsef Kadlecsik. 4) Check CTA_TIMEOUT_NAME length properly in netfilter cttimeout code, fix from Florian Westphal. 5) After removing the routing cache, we inadvertantly are caching multicast routes that end up looping back locally, we cannot do that legitimately any more. Fix from Julian Anastasov. 6) Revert a race fix for 8139cp qemu/kvm that doesn't actually work properly on real hardware. From Francois Romieu. 7) Fixup errors in example command lines in VXLAN device docs." * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: bnx2x: remove redundant warning log vxlan: fix command usage in its doc 8139cp: revert "set ring address before enabling receiver" ipv4: do not cache looped multicasts netfilter: cttimeout: fix buffer overflow netfilter: ipset: Fix range bug in hash:ip,port,net xfrm: Fix the gc threshold value for ipv4
2012-11-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparcLinus Torvalds1-3/+1
Pull sparc fix from David Miller: "Bug fix from Al Viro" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()
2012-11-24Merge tag 'fixes-for-linus' of ↵Linus Torvalds2-0/+4
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull one more ARM SoC fix from Olof Johansson: "I missed one pull request from Samsung with one fix in the previous batch. Here it is -- a dma driver fix for an early version of silicon that they still support." * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: EXYNOS: PL330 MDMA1 fix for revision 0 of Exynos4210 SOC
2012-11-23PM / QoS: fix wrong error-checking conditionGuennadi Liakhovetski1-1/+1
dev_pm_qos_add_request() can return 0, 1, or a negative error code, therefore the correct error test is "if (error < 0)." Checking just for non-zero return code leads to erroneous setting of the req->dev pointer to NULL, which then leads to a repeated call to dev_pm_qos_add_ancestor_request() in st1232_ts_irq_handler(). This in turn leads to an Oops, when the I2C host adapter is unloaded and reloaded again because of the inconsistent state of its QoS request list. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Cc: <stable@vger.kernel.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2012-11-23net/macb: GEM DMA configuration register updateNicolas Ferre2-2/+19
Add information to the DMA Configuration Register to maximize system performance: - rx/tx packet buffer full memory size - allow possibility to use INCR16 if supported Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Joachim Eastwood <manabian@gmail.com Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23asix: use ramdom hw addr if the one read is not validJean-Christophe PLAGNIOL-VILLARD1-3/+16
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: linux-usb@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23net: add micrel KSZ8873MLL switch supportJean-Christophe PLAGNIOL-VILLARD2-0/+45
this will allow to detect the link between the switch and the soc Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: netdev@vger.kernel.org Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23be2net: fix a possible events_get() race on BE2Sathya Perla1-4/+7
On BE2 chip, an interrupt being raised even when EQ is in un-armed state has been observed a few times. This is not expected and has never been observed on BE3/Lancer chips. As a consequence, be_msix()::events_get() and be_poll()::events_get() can race and notify an EQ wrongly causing a CEV UE. The other possible side-effect would be traffic stalling because after notifying EQ, napi_schedule() is ignored as NAPI is already running. This patch fixes this issue by counting events only in be_poll(). Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23tun: change tun_get_iff() prototype.Rami Rosen1-5/+2
This patch changes tun_get_iff() prototype to return void as it never fails. Signed-off-by: Rami Rosen <ramirose@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23bnx2x: remove redundant warning logAriel Elior1-4/+7
fix bug where a register which was only meant to be read in 578xx/57712 devices causes a bogus error message to be logged when read from other devices. Signed-off-by: Ariel Elior <ariele@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23smsc95xx: refactor entering suspend modesSteve Glendinning1-79/+99
This patch splits out the logic for entering suspend modes to separate functions, to reduce the complexity of the smsc95xx_suspend function. Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23smsc95xx: support PHY wakeup sourceSteve Glendinning2-17/+164
This patch enables LAN9500 family devices to wake from suspend on either link up or link down events It also adds _nopm versions of mdio access functions, so we can safely call them from suspend and resume functions Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23smsc95xx: detect chip revision specific featuresSteve Glendinning2-9/+23
Instead of storing the number of wake-up frame filter registers in the pdata structure, this patch changes the driver to detect the type of device we have and store its available features. The new two features will be used in future patches. This patch is intended to have no change in behaviour. Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23smsc95xx: fix error checking of usbnet_resumeSteve Glendinning1-1/+1
without this patch the two lines below won't ever execute Signed-off-by: Steve Glendinning <steve.glendinning@shawell.net> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23tcp: remove dead prototype for tcp_v4_get_peer()Neal Cardwell1-1/+0
This function no longer exists. Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23Merge branch 'tipc_net-next' of ↵David S. Miller12-269/+185
git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux Paul Gortmaker says: ==================== The most interesting thing here, at least from a user perspective, is the broadcast link fix -- where there was a corner case where two endpoints could get in a state where they disagree on where to start Rx and ack of broadcast packets. There is also the poll/wait changes which could also impact end users for certain use cases - the fixes there also better align tipc with the rest of the networking code. The rest largely falls into routine cleanup category, by getting rid of some unused routines, some Kconfig clutter, etc. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23vxlan: fix command usage in its docZhi Yong Wu1-2/+2
Some commands don't work in its example doc. The patch will fix it. Signed-off-by: Zhi Yong Wu <wuzhy@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-238139cp: revert "set ring address before enabling receiver"françois romieu1-11/+11
This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db. The original patch was tested with emulated hardware. Real hardware chokes. Fixes https://bugzilla.kernel.org/show_bug.cgi?id=47041 Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Acked-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2012-11-23block: Don't access request after it might be freedRoland Dreier1-1/+7
After we've done __elv_add_request() and __blk_run_queue() in blk_execute_rq_nowait(), the request might finish and be freed immediately. Therefore checking if the type is REQ_TYPE_PM_RESUME isn't safe afterwards, because if it isn't, rq might be gone. Instead, check beforehand and stash the result in a temporary. This fixes crashes in blk_execute_rq_nowait() I get occasionally when running with lots of memory debugging options enabled -- I think this race is usually harmless because the window for rq to be reallocated is so small. Signed-off-by: Roland Dreier <roland@purestorage.com> Cc: stable@kernel.org Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-11-23mtip32xx: Fix padding issueSelvan Mani1-2/+2
Hi Jens, Another tiny patch. Removed __packed before the struct smart_attr and added __packed at end of the structure to fix padding issue. Signed-off-by: Selvan Mani <smani@micron.com> Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-11-23aoe: avoid running request handler on plugged queueEd Cashin1-1/+1
Calling the request handler directly on a plugged queue defeats the performance improvements provided by the plugging mechanism. Use the __blk_run_queue function instead of calling the request handler directly, so that we don't interfere with the block layer's ability to plug the queue. Signed-off-by: Ed Cashin <ecashin@coraid.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-11-23mtip32xx: fix potential NULL pointer dereference in mtip_timeout_function()Wei Yongjun1-1/+2
The dereference to port should be moved below the NULL test. dpatch engine is used to auto generate this patch. (https://github.com/weiyj/dpatch) Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-11-23mtip32xx: fix shift larger than type warningJens Axboe1-1/+2
If we're building a 32-bit kernel and CONFIG_LBADF isn't set, sector_t is 32-bits wide. The shifts by 32 and 40 are thus larger than we support. Cast the sector offset to a u64 to avoid these warnings. Signed-off-by: Jens Axboe <axboe@kernel.dk>