aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-08-08xhci: Fix bug after deq ptr set to link TRB.Sarah Sharp1-14/+22
This patch fixes a particularly nasty bug that was revealed by the ring expansion patches. The bug has been present since the very beginning of the xHCI driver history, and could have caused general protection faults from bad memory accesses. The first thing to note is that a Set TR Dequeue Pointer command can move the dequeue pointer to a link TRB, if the canceled or stalled transfer TD ended just before a link TRB. The function to increment the dequeue pointer, inc_deq, was written before cancellation and stall support was added. It assumed that the dequeue pointer could never point to a link TRB. It would unconditionally increment the dequeue pointer at the start of the function, check if the pointer was now on a link TRB, and move it to the top of the next segment if so. This means that if a Set TR Dequeue Point command moved the dequeue pointer to a link TRB, a subsequent call to inc_deq() would move the pointer off the segment and into la-la-land. It would then read from that memory to determine if it was a link TRB. Other functions would often call inc_deq() until the dequeue pointer matched some other pointer, which means this function would quite happily read all of system memory before wrapping around to the right pointer value. Often, there would be another endpoint segment from a different ring allocated from the same DMA pool, which would be contiguous to the segment inc_deq just stepped off of. inc_deq would eventually find the link TRB in that segment, and blindly move the dequeue pointer back to the top of the correct ring segment. The only reason the original code worked at all is because there was only one ring segment. With the ring expansion patches, the dequeue pointer would eventually wrap into place, but the dequeue segment would be out-of-sync. On the second TD after the dequeue pointer was moved to a link TRB, trb_in_td() would fail (because the dequeue pointer and dequeue segment were out-of-sync), and this message would appear: ERROR Transfer event TRB DMA ptr not part of current TD This fixes bugzilla entry 4333 (option-based modem unhappy on USB 3.0 port: "Transfer event TRB DMA ptr not part of current TD", "rejecting I/O to offline device"), https://bugzilla.kernel.org/show_bug.cgi?id=43333 and possibly other general protection fault bugs as well. This patch should be backported to kernels as old as 2.6.31. A separate patch will be created for kernels older than 3.4, since inc_deq was modified in 3.4 and this patch will not apply. Signed-off-by: Sarah Sharp <[email protected]> Tested-by: James Ettle <[email protected]> Tested-by: Matthew Hall <[email protected]> Cc: [email protected]
2012-08-08usb/ohci-omap: remove unused variableArnd Bergmann1-2/+0
Commit c2e935a7d "USB: move transceiver from ehci_hcd and ohci_hcd to hcd and rename it as phy" removed the last use of the "ohci" variable in the usb_hcd_omap_remove function, but left the variable in place unused. Without this patch, building omap1_defconfig results in: In file included from drivers/usb/host/ohci-hcd.c:1013:0: drivers/usb/host/ohci-omap.c: In function 'usb_hcd_omap_remove': drivers/usb/host/ohci-omap.c:406:19: warning: unused variable 'ohci' [-Wunused-variable] Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Alan Stern <[email protected]> Acked-by: Greg Kroah-Hartman <[email protected]> Cc: Richard Zhao <[email protected]>
2012-08-08mfd/asic3: fix asic3_mfd_probe return valueArnd Bergmann1-0/+1
In commit 4f304245b "mfd: Set asic3 DS1WM clock_rate", a possible path through asic3_mfd_probe was introduced that would lead to an unpredictable return value, if everything succeeds but there are pdata->leds is NULL. This was reported correctly by gcc. Without this patch, building magician_defconfig results in: drivers/mfd/asic3.c: In function 'asic3_mfd_probe': drivers/mfd/asic3.c:940:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] Signed-off-by: Arnd Bergmann <[email protected]> Cc: Paul Parsons <[email protected]> Cc: Philipp Zabel <[email protected]> Cc: Samuel Ortiz <[email protected]>
2012-08-08Revert "NMI watchdog: fix for lockup detector breakage on resume"Rafael J. Wysocki3-30/+2
Revert commit 45226e9 (NMI watchdog: fix for lockup detector breakage on resume) which breaks resume from system suspend on my SH7372 Mackerel board (by causing a NULL pointer dereference to happen) and is generally wrong, because it abuses the CPU hotplug functionality in a shamelessly blatant way. The original issue should be addressed through appropriate syscore resume callback instead. Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-08PM: Make dev_pm_get_subsys_data() always return 0 on successRafael J. Wysocki2-5/+2
Commits 1d5fcfec22 (PM / Domains: Add device domain data reference counter) and 62d4490294 (PM / Domains: Allow device callbacks to be added at any time) added checks for the return value of dev_pm_get_subsys_data(), but those checks were incorrect, because that function returned 1 on success in some cases. Since all of the existing users of dev_pm_get_subsys_data() don't use the positive value returned by it on success, change its definition so that it always returns 0 when successful. Reported-by: Heiko Stübner <[email protected]> Reported-by: Tushar Behera <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-08drivers/cpufreq/pcc-cpufreq.c: fix error return codeJulia Lawall1-0/+1
Convert a 0 error return code to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier ret; expression e,e1,e2,e3,e4,x; @@ ( if (\(ret != 0\|ret < 0\) || ...) { ... return ...; } | ret = 0 ) ... when != ret = e1 *x = \(kmalloc\|kzalloc\|kcalloc\|devm_kzalloc\|ioremap\|ioremap_nocache\|devm_ioremap\|devm_ioremap_nocache\)(...); ... when != x = e2 when != ret = e3 *if (x == NULL || ...) { ... when != ret = e4 * return ret; } // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-08RTC: Avoid races between RTC alarm wakeup and suspend.NeilBrown2-1/+2
If an RTC alarm fires just as suspend is happening, it is possible for suspend to complete and the alarm to be missed. To avoid the race, we must register the event with the PM core. As the event is made visible to userspace through a thread which is only scheduled by the interrupt, we need a pm_stay_awake/pm_relax pair preventing suspend from the interrupt until the thread completes its work. This makes the pm_wakeup_event() call in cmos_interrupt unnecessary as it provides suspend protection for all RTCs that use rtc_update_irq. Signed-off-by: NeilBrown <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2012-08-08Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netLinus Torvalds67-228/+364
Pull networking fixes from David Miller: 1) Missed rcu_assign_pointer() in mac80211 scanning, from Johannes Berg. 2) Allow devices to limit the number of segments that an individual TCP TSO packet can use at a time, to deal with device and/or driver specific limitations. From Ben Hutchings. 3) Fix unexpected hard IPSEC expiration after setting the date. From Fan Du. 4) Memory leak fix in bxn2x driver, from Jesper Juhl. 5) Fix two memory leaks in libertas driver, from Daniel Drake. 6) Fix deref of out-of-range array index in packet scheduler generic actions layer. From Hiroaki SHIMODA. 7) Fix TX flow control errors in mlx4 driver, from Yevgeny Petrilin. 8) Fix CRIS eth_v10.c driver build, from Randy Dunlap. 9) Fix wrong SKB freeing in LLC protocol layer, from Sorin Dumitru. 10) The IP output path checks neigh lookup errors incorrectly, it needs to use IS_ERR(). From Vasiliy Kulikov. 11) An estimator leak leads to deref of freed memory in timer handler, fix from Hiroaki SHIMODA. 12) TCP early demux in ipv6 needs to use DST cookies in order to validate the RX route properly. Fix from Eric Dumazet. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (43 commits) net: ipv6: fix TCP early demux net: Use PTR_RET rather than if(IS_ERR(.. [1] net_sched: act: Delete estimator in error path. ip: fix error handling in ip_finish_output2() llc: free the right skb ixp4xx_eth: fix ptp_ixp46x build failure drivers/atm/iphase.c: fix error return code tcp_output: fix sparse warning for tcp_wfree drivers/net/phy/mdio-mux-gpio.c: drop devm_kfree of devm_kzalloc'd data batman-adv: select an internet gateway if none was chosen mISDN: Bugfix for layer2 fixed TEI mode igb: don't break user visible strings over multiple lines in igb_ethtool.c igb: correct hardware type (i210/i211) check in igb_loopback_test() igb: Fix for failure to init on some 82576 devices. cris: fix eth_v10.c build error cdc-ncm: tag Ericsson WWAN devices (eg F5521gw) with FLAG_WWAN isdnloop: fix and simplify isdnloop_init() hyperv: Move wait completion msg code into rndis_filter_halt_device() net/mlx4_core: Remove port type restrictions net/mlx4_en: Fixing TX queue stop/wake flow ...
2012-08-08Merge tag 'pinctrl-fixes-for-v3.6-rc1' of ↵Linus Torvalds7-13/+8
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pinctrl fixes from Linus Walleij: - Move MXS pinctrl registration to poscore_initcall - Fix up various devm_* managed resources code paths - Fix one function group in the Nomadik driver - Update MAINTAINERS * tag 'pinctrl-fixes-for-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: drivers/pinctrl/pinctrl-nomadik.c: drop devm_kfree of devm_kzalloc'd data MAINTAINERS: fix a few pinctrl related entries pinctrl-sirf: remove devm_kfree at error path pinctrl/nomadik: fix hsi function group list pinctrl/pinctrl-u300: remove unneeded devm_kfree call pinctrl: mxs: register driver at postcore_initcall time
2012-08-08Merge tag 'iommu-fixes-v3.6-rc1' of ↵Linus Torvalds6-19/+63
git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU fixes from Joerg Roedel: "These patches fix a couple of issues. First of all a few problems with ACS on x86 introduced in the last merge window, where ACS did not work on AMD and a NULL pointer dereference when there ran against SR-IOV devices. The patches fallen out of coccinelle checks fix a possible invalid memory reference and a possible memory leak. The other patches mostly fix build errors and warnings and a wrong return value." * tag 'iommu-fixes-v3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: iommu/amd: Fix ACS path checking iommu/intel: Fix ACS path checking iommu/amd: Fix pci_request_acs() call-place iommu/exynos: Fix build error iommu/tegra: smmu: Fix error initial value at domain_init iommu/tegra: smmu: Cleanup with lesser nest iommu: Add missing forward declaration in include file iommu: Include linux/types.h iommu/intel: add missing free_domain_mem iommu/tegra: remove invalid reference to list iterator variable
2012-08-08Merge tag 'sound-3.6' of ↵Linus Torvalds6-16/+21
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Containing only a few really small/trivial fixes. The only urgent fix is a regression fix of HDMI codec probing, introduced in 3.6-rc1. The rest are HD-audio specific fixes and a copule of minor bug fixes in PCM core and the old emu10k1." * tag 'sound-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda - Fix double quirk for Quanta FL1 / Lenovo Ideapad ALSA: hda - Fix ugly debug prints with CONFIG_SND_VERBOSE_PRINTK=y ALSA: hda - remove redundant auto quirks for conexant 506x ALSA: hda - remove quirk for Dell Vostro 1015 ALSA: hda - add dock support for Thinkpad X230 ALSA: hda - Fix regression of HDMI codec probing ALSA: hda - add dock support for Thinkpad T430s ALSA: emu10k1: Avoid access to invalid pages when period=1 ALSA: PCM: Fix possible memory leaks in the error path
2012-08-08s390/compat: fix mmap compat system callsHeiko Carstens1-2/+0
The native 31 bit and the compat behaviour for the mmap system calls differ: In native 31 bit mode the passed in address for the mmap system call will be unmodified passed to sys_mmap_pgoff(). In compat mode however the passed in address will be modified with compat_ptr() which masks out the most significant bit. The result is that in native 31 bit mode each mmap request (with MAP_FIXED) will fail where the most significat bit is set, while in compat mode it may succeed. This odd behaviour was introduced with d3815898 "[S390] mmap: add missing compat_ptr conversion to both mmap compat syscalls". To restore a consistent behaviour accross native and compat mode this patch functionally reverts the above mentioned commit. Cc: [email protected] Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-08-08s390/compat: fix compat wrappers for process_vm system callsHeiko Carstens1-2/+2
The compat wrappers incorrectly called the non compat versions of the system process_vm system calls. Cc: [email protected] Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-08-08s390: do not clobber personality flags in sys_32_personality()Jiri Kosina1-4/+5
There are multiple errors in how sys_32_personality() handles personality flags stored in top three bytes. - directly comparing current->personality against PER_LINUX32 doesn't work in cases when any of the personality flags stored in the top three bytes are used. - directly forcefully setting personality to PER_LINUX32 or PER_LINUX discards any flags stored in the top three bytes Fix the first one by properly using personality() macro to compare only PER_MASK bytes. Fix the second one by setting only the bits that should be set, instead of overwriting the whole value. Signed-off-by: Jiri Kosina <[email protected]> Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-08-08s390/seccomp: add support for system call filtering using BPFHeiko Carstens3-1/+17
Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-08-08s390/sclp_sdias: Add missing break and "fall through"Michael Holzheu1-0/+2
If the last block of the HSA is read, EVSTATE_ALL_STORED is returned by SCLP. Because of a missing break in the switch statement two trace entries are written in this case: "all stored" and "part stored". This patch adds the missing break and also adds a "fall through" comment to improve the readability. Signed-off-by: Michael Holzheu <[email protected]> Reported-by: David A Gilbert <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-08-08s390/mm: remove MAX_PHYSADDR_BITS defineHeiko Carstens1-2/+0
It's unused, so remove it. Signed-off-by: Heiko Carstens <[email protected]> Signed-off-by: Martin Schwidefsky <[email protected]>
2012-08-08regulator: gpio-regulator: Split setting of voltages and currentsHeiko Stübner1-12/+26
Originally gpio-regulator used the first item of its state list that matched the given voltage or current range. Commit 4dbd8f63f0 (regulator: gpio-regulator: Set the smallest voltage/current in the specified range) changed this, to make the selection independent of the ordering of the state list. But selecting the minimal value is only true for voltage regulators. For current regulators the maximum in the given range should be selected instead. Therefore split the previous common selection function into specific functions for voltage and current regulators. Signed-off-by: Heiko Stuebner <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-08drm/i915: correctly order the ring init sequenceDaniel Vetter1-2/+5
We may only start to set up the new register values after having confirmed that the ring is truely off. Otherwise the hw might lose the newly written register values. This is caught later on in the init sequence, when we check whether the register writes have stuck. Cc: [email protected] Reviewed-by: Jani Nikula <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50522 Tested-by: Yang Guang <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2012-08-08ALSA: hda - Fix double quirk for Quanta FL1 / Lenovo IdeapadDavid Henningsson1-2/+3
The same ID is twice in the quirk table, so the second one is not used. Signed-off-by: David Henningsson <[email protected]> Cc: <[email protected]> [v3.2+] Signed-off-by: Takashi Iwai <[email protected]>
2012-08-08leds: lp8788: Fix updating scale configuration bitsAxel Lin1-1/+1
We need to do left shift (cfg->num + LP8788_ISINK_SCALE_OFFSET) bits for updating scale configuration. Signed-off-by: Axel Lin <[email protected]> Acked-by: Milo(Woogyom) Kim <[email protected]> Tested-by: Milo(Woogyom) Kim <[email protected]> Signed-off-by: Bryan Wu <[email protected]>
2012-08-07staging: comedi: rtd520: ioremap'ed addresses are resource_size_tH Hartley Sweeten1-16/+10
As mentioned by Ian Abbott, the pci address passed to ioremap should be a resource_size_t not an unsigned long. Use a local variable of that type to hold the pci_resource_start() that is passed to ioremp(). Set the dev->iobase to a dummy non-zero value so that the "detach" can use it as a flag to know that comedi_pci_disable() needs to be called. Reported-by: Ian Abbott <[email protected]> Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-07staging: comedi: dt3000: ioremap'ed addresses are resource_size_tH Hartley Sweeten1-2/+4
As mentioned by Ian Abbott, the pci address passed to ioremap should be a resource_size_t not an unsigned long. Use a local variable of that type to hold the pci_resource_start() that is passed to ioremp(). Set the dev->iobase to a dummy non-zero value so that the "detach" can use it as a flag to know that comedi_pci_disable() needs to be called. Reported-by: Ian Abbott <[email protected]> Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-07staging: comedi: daqboard2000: ioremap'ed addresses are resource_size_tH Hartley Sweeten1-7/+7
As mentioned by Ian Abbott, the pci address passed to ioremap should be a resource_size_t not an unsigned long. Use a local variable of that type to hold the pci_resource_start() that is passed to ioremp(). Set the dev->iobase to a dummy non-zero value so that the "detach" can use it as a flag to know that comedi_pci_disable() needs to be called. Reported-by: Ian Abbott <[email protected]> Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-07staging: comedi: daqboard2000: add back subsystem_device checkH Hartley Sweeten1-1/+2
As mentioned by Ian Abbott, this driver originally checked the pci_dev subsystem_device in order to make sure that the pci_dev was compatible with this driver. The cleanup of the "find pci device" code removed this check. Add it back. Reported-by: Ian Abbott <[email protected]> Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-07staging: comedi: remove pci_is_enabled() testsH Hartley Sweeten3-7/+0
As mentioned by Ian Abbott, the comedi pci drivers that try to locate an unused pci device with the pci_is_enabled() test might actually skip over a perfectly good unused device. This test is also not consistent with the other comedi pci drivers. Remove the test from all the comedi pci drivers. Reported-by: Ian Abbott <[email protected]> Signed-off-by: H Hartley Sweeten <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2012-08-07Merge tag 'fixes-for-v3.6-rc1' of ↵Greg Kroah-Hartman2-11/+12
git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-linus usb: fixes for v3.6-rc1 Here are three fixes for v3.6-rc1. All on the MUSB driver and quite obvious. First there's a Kconfig change which was missed earlier, then there is a fix for the usage of the resource name and lastly a fix for pm_runtime usage and device initialization. The last fix is rather critical as it can end up in situations where we try to access device's register with clocks disabled, which will cause a Data Abort exception (on ARM).
2012-08-07xhci: Rate-limit XHCI_TRUST_TX_LENGTH quirk warning.Sarah Sharp2-2/+4
When we encounter an xHCI host that needs the XHCI_TRUST_TX_LENGTH quirk, the xHCI driver ends up spewing messages about the quirk into dmesg every time a short packet occurs. Change the xHCI driver to rate-limit such warnings. Signed-off-by: Sarah Sharp <[email protected]> Reported-by: Matthew Hall <[email protected]> Reported-by: Gary E. Miller <[email protected]>
2012-08-07xhci: Add Etron XHCI_TRUST_TX_LENGTH quirk.Sarah Sharp1-0/+1
Gary reports that with recent kernels, he notices more xHCI driver warnings: xhci_hcd 0000:03:00.0: WARN Successful completion on short TX: needs XHCI_TRUST_TX_LENGTH quirk? We think his Etron xHCI host controller may have the same buggy behavior as the Fresco Logic xHCI host. When a short transfer is received, the host will mark the transfer as successfully completed when it should be marking it with a short completion. Fix this by turning on the XHCI_TRUST_TX_LENGTH quirk when the Etron host is discovered. Note that Gary has revision 1, but if Etron fixes this bug in future revisions, the quirk will have no effect. This patch should be backported to kernels as old as 2.6.36, that contain a backported version of commit 1530bbc6272d9da1e39ef8e06190d42c13a02733 "xhci: Add new short TX quirk for Fresco Logic host." Signed-off-by: Sarah Sharp <[email protected]> Reported-by: Gary E. Miller <[email protected]> Cc: [email protected]
2012-08-07xhci: Increase reset timeout for Renesas 720201 host.Sarah Sharp1-2/+3
The NEC/Renesas 720201 xHCI host controller does not complete its reset within 250 milliseconds. In fact, it takes about 9 seconds to reset the host controller, and 1 second for the host to be ready for doorbell rings. Extend the reset and CNR polling timeout to 10 seconds each. This patch should be backported to kernels as old as 2.6.31, that contain the commit 66d4eadd8d067269ea8fead1a50fe87c2979a80d "USB: xhci: BIOS handoff and HW initialization." Signed-off-by: Sarah Sharp <[email protected]> Reported-by: Edwin Klein Mentink <[email protected]> Cc: [email protected]
2012-08-07vfio: Include vfio.h in installed headersAlex Williamson1-0/+1
Signed-off-by: Alex Williamson <[email protected]>
2012-08-07regulator: ab3100: add missing voltage tableLinus Walleij1-0/+1
The conversion to voltage tables in commit a3beb74261f26142019847128b2441b0301797ac "regulator: ab3100: Use regulator_list_voltage_table()" missed to add the voltage table to the buck. Fix this and it works like a charm. Signed-off-by: Linus Walleij <[email protected]> Acked-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07regulator: anatop: Fix wrong mask used in anatop_get_voltage_selAxel Lin1-2/+3
The mask used in anatop_get_voltage_sel does not match the mask used in anatop_set_voltage_sel. We need to do left shift anatop_reg->vol_bit_shift bits for the correct mask. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07regulator: tps6586x: correct vin pin for sm0/sm1/sm2Laxman Dewangan2-9/+11
As per datasheet, the vin pin for the regulator is named as vin_sm0, vin_sm1, vin_sm2 for sm0, sm1 and sm2 respectively. Correcting the names in driver and documentation to match with datasheet. Signed-off-by: Laxman Dewangan <[email protected]> Reported-by: Stephen Warren <[email protected]> Acked-by: Stephen Warren <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07regulator: palmas: Fix palmas_probe error handlingAxel Lin1-2/+4
Fix below error handling cases: 1. If reading PALMAS_SMPS_CTRL fails, simply returns ret rather than goto err_unregister_regulator because we have not call regulator_register(). 2. If palmas_ldo_init() fails, we need to call regulator_unregister() for the regulator we just successfully registered in this for loop iteration. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07regulator: palmas: Call palmas_ldo_[read|write] in palmas_ldo_initAxel Lin1-2/+2
Current code uses wrong calls palmas_smps_[read|write] in palmas_ldo_init(), should be palmas_ldo_[read|write] instead. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07regulator: palmas: Fix regmap offsets for PALMAS_REG_SMPS10 vsel_regAxel Lin1-1/+3
Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07regulator: palmas: Fix calculating selector in palmas_map_voltage_ldoAxel Lin1-3/+6
This patch fixes below issues when choosing selector: 1. Current code returns negative selector if min_uV < 900000 which is wrong. For example, it is possible to satisfy the request with selector = 1 if the requested min_uV is 850000. 2. Current code may select a voltage lower than requested min_uV. For example, if the requested min_uV is 945000, current code chooses selector = 1 which is lower than requested min_uV. DIV_ROUND_UP to avoid this case. Signed-off-by: Axel Lin <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2012-08-07ALSA: hda - Fix ugly debug prints with CONFIG_SND_VERBOSE_PRINTK=yTakashi Iwai1-3/+2
When CONFIG_SND_VERBOSE_PRINTK=y is set, the debug print in hda_auto_parser.c looks really ugly like: ALSA sound/pci/hda/hda_auto_parser.c:331 mono: mono_out=0x0 ALSA sound/pci/hda/hda_auto_parser.c:334 dig-out=0x12/0x0 ALSA sound/pci/hda/hda_auto_parser.c:335 inputs: ALSA sound/pci/hda/hda_auto_parser.c:339 Mic=0x11ALSA sound/pci/hda/hda_auto_parser.c:339 Line=0x10 ALSA sound/pci/hda/hda_auto_parser.c:341 ALSA sound/pci/hda/hda_auto_parser.c:343 dig-in=0x13 Better to put one item at each line. Signed-off-by: Takashi Iwai <[email protected]>
2012-08-07drivers/pinctrl/pinctrl-nomadik.c: drop devm_kfree of devm_kzalloc'd dataJulia Lawall1-1/+0
devm_kfree should not have to be explicitly used. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression x,d; @@ x = devm_kzalloc(...) ... ?-devm_kfree(d,x); // </smpl> Signed-off-by: Julia Lawall <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-08-07MAINTAINERS: fix a few pinctrl related entriesUwe Kleine-König1-2/+3
Signed-off-by: Uwe Kleine-König <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-08-07pinctrl-sirf: remove devm_kfree at error pathDevendra Naga1-1/+0
the pointers that are allocated with devm_kzalloc will be automatically freed, at unload time. Signed-off-by: Devendra Naga <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-08-07ALSA: hda - remove redundant auto quirks for conexant 506xDavid Henningsson1-5/+0
Now that the auto model is the default, these quirks are redundant and can be removed. Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-08-07ALSA: hda - remove quirk for Dell Vostro 1015David Henningsson1-1/+0
This computer is confirmed working with model=auto on kernel 3.2. Also, parsing fails with hda-emu with the current model. Cc: [email protected] (3.2+) Signed-off-by: David Henningsson <[email protected]> Signed-off-by: Takashi Iwai <[email protected]>
2012-08-07pinctrl/nomadik: fix hsi function group listPatrice Chotard1-1/+1
Tidy up a small typo in the HSI function group list. Signed-off-by: Patrice Chotard <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
2012-08-07drm/i915: add more Haswell PCI IDsPaulo Zanoni3-7/+123
Also properly indent the HB IDs. Reviewed-by: Rodrigo Vivi <[email protected]> Signed-off-by: Paulo Zanoni <[email protected]> Signed-off-by: Daniel Vetter <[email protected]>
2012-08-07Merge tag 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6 into fixesArnd Bergmann3-5/+7
ARM i.MX fixes for 3.6-rc * tag 'imx-fixes' of git://git.pengutronix.de/git/imx/linux-2.6: i.MX27: Fix emma-prp and csi clocks. ARM: clk-imx31: Fix the keypad clock name ARM: dts: imx27-3ds.dts: Fix serial console node
2012-08-07ARM: kirkwood: fix typo in Makefile.bootSebastian Hesselbarth1-2/+2
Just a small typo fix to make lsxl dtbs compile Signed-off-by: Sebastian Hesselbarth <[email protected]> Cc: Jason Cooper <[email protected]> Cc: Andrew Lunn <[email protected]> Cc: Russell King <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Arnd Bergmann <[email protected]>
2012-08-07canfd: remove redundant CAN FD flagOliver Hartkopp1-12/+13
The first idea of the CAN FD implementation started with a new struct canfd_frame to be used for both CAN FD frames and legacy CAN frames. The now mainlined implementation supports both CAN frame types simultaneously and distinguishes them only by their required sizes: CAN_MTU and CANFD_MTU. Only the struct canfd_frame contains a flags element which is needed for the additional CAN FD information. As CAN FD implicitly means that the 'Extened Data Length' mode is enabled the formerly defined CANFD_EDL bit became redundant and also confusing as an unset bit would be an error and would always need to be tested. This patch removes the obsolete CANFD_EDL bit and clarifies the documentation for the use of struct canfd_frame and the CAN FD relevant flags. Signed-off-by: Oliver Hartkopp <[email protected]> Signed-off-by: Marc Kleine-Budde <[email protected]>
2012-08-07igb: add delay to allow igb loopback test to succeed on 8086:10c9Stefan Assmann1-0/+3
Some 8086:10c9 NICs have a problem completing the ethtool loopback test. The result looks like this: ethtool -t eth1 The test result is FAIL The test extra info: Register test (offline) 0 Eeprom test (offline) 0 Interrupt test (offline) 0 Loopback test (offline) 13 Link test (on/offline) 0 A bisect clearly points to commit a95a07445ee97a2fef65befafbadcc30ca1bd145. However that seems to only trigger the bug. While adding some printk the problem disappeared, so this might be a timing issue. After some trial and error I discovered that adding a small delay just before igb_write_phy_reg() in igb_integrated_phy_loopback() allows the loopback test to succeed. I was unable to figure out the root cause so far but I expect it to be somewhere in the following executing path igb_integrated_phy_loopback ->igb_write_phy_reg_igp ->igb_write_phy_reg_mdic ->igb_acquire_phy_82575 ->igb_acquire_swfw_sync_82575 The problem could only be observed on 8086:10c9 NICs so far and not all of them show the behaviour. I did not restrict the workaround to this type of NIC as it should do no harm to other igb NICs. With the patch below the loopback test succeeded 500 times in a row using a NIC that would otherwise fail. Signed-off-by: Stefan Assmann <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Peter P Waskiewicz Jr <[email protected]>