- 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
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iQIcBAABAgAGBQJQInDjAAoJEEEQszewGV1zd/EQAJomDXod98OvoZXwtTrKnJw0
9zfBZs2577a0ytCZonMXxFpSTE4e0+GTNN97dno3ueordOqkA9Jr7Bx9FWi4zyiM
0XJLmkFwONMOaKWjN6xtEUh7c5SsvwPSgUbIi/8DhcqeCRxsYsdVZjWxfSmgC4hB
fm+WwvxqxhjklLvy9I+LanaF93k688Penyv8cqnY2Y2lER3tHGZXEtEVWnz0ZWnQ
Ft7NEf8ms5BueX4QCNfd/vX1j6P0dueHvwl9Qv8oLbddgGP2jFPhEA/iZxGn/7Tv
w9rayQPBhPnAZv2bVfYN/LsmpQlivEnWRxK2S2llxAeUo+aPebsS1nRL68JQg4dA
7EFHmX+VBiP2mfXomOb4lJYl/tWIyidlneQ+eqUyY4mim0wF/045FRk7hi/EIqI1
E6jJxG4d3Becxzvtqpd8jj7iA6QkmmnNUdOP8Ktp8bo+9IQd+ogaf3zyNIQdnuSD
td/08yAwNmVLqcV7pvhtgwLtArEp2crekT7MF/CTajMiBRa7JsmyB7rNovYvxbeg
ik/I9cmR2yeu5rAJYQ4w/QpHWYAIFtiGM57rkKodaLW4bptD23KLk7v0zWTwC2WX
pQG+9Yq8kGW6n6BIAUFA5BJ2HaNN2KsS9zIicocFvu2Aab/Rmq6f5ohHH596pEka
7Ck3SmvPd3fJfYgHQCpp
=3cIB
-----END PGP SIGNATURE-----
Merge tag 'pinctrl-fixes-for-v3.6-rc1' of 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
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJQISi+AAoJECvwRC2XARrjr40P/iS01Dx7BBPH/S7ariSgqUMn
7kkBFtJjOxOCQH5BOYwDPLMWdDTwucZoV0VhiSKjWf2avERsIBS1NG4V/FenyrLi
+w6Z0NxBxpjRwyEYtSYKmwrreQCcSM6mlGPyuQ2wY8Sa8jU7zkOh4xemE3iSP0dY
onXvmyxhNWfhAOIfomGDSVLX4C4tIFUmqvWdeHeEIzjzJx2ngsg+ws5eLdrdPcmP
IeO/HbnS1Ouxc6w6F8MnWu56SF3uFIaNbeq50ij9bw4wLYdE+JP9LZJ6SV1rLAuu
rZaH1VMMfwhwZluOxd0KezqXgYckzsd/YgwX/hJrxW6W39bM0YpyyMAvd48ikQ4n
m/2BWCE2v4r68c80UnzwCumF7VzHlqrCTHNtwnm3EFQ4Tuwf10aacmDxzMyWGjUb
s7ywi4gWYwzitRlAga7tI2TQD3m2Xd1vBB0mOP3uS7UlgDN8bQ6fp63YXgpPV7ZN
iAcxC1w3Plljydc5F6mwusvi0Z3qnvlhqYtFm57MiHiq2G7WC/anpNGuulltQ5H3
qNLLBRNRswckrkWROIQcBjmPtWDSrPjlF8sXa2R6CeW3EfkO9MQHc0Jxxt7zZ1wV
q3Drc2EOn6oOdd76D6NXZ4QAUsnLnmuZ6VmeB2w8jw+ItzT/PV+YnRxmysMVpwmU
laGFFjQcN+tGznEoPIb/
=0b5/
-----END PGP SIGNATURE-----
Merge tag 'iommu-fixes-v3.6-rc1' of 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
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.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (GNU/Linux)
iQIcBAABAgAGBQJQIiwbAAoJEGwxgFQ9KSmkT2wP/0U1sCg8TQxEICKfPL8/ODP9
ATsr++nsvwTxem8wB8YG3Q7IMyOd7b1ZT5f7suWGiVG4PE2Sc4/loyTfcp/MQ9AL
hEyt27RGa1/vF9rke3bdw4v8CyscG/72jBgmtKHsmTR2dNDFfoupDpGwjGjy81M6
kJpkFQ8gfgt8SEzY0fjMP2KkcIQRdo02xBD0LD+rfROmMdTPTHrPcLL9VsNWQajv
DV6hrRCs93Md23g7E4QjTcSURzRuIdj9xPV5beyKlNmBXltFuKRuBkbEZP80q308
UjsgSorudEQt7nir079KBlFymeb1FPur76xfpH0wutwwDv43jDVeXbfyXZnHTtAy
3kIvZK9BXsfAYVgAjuCr39XMTy7DNwvDpzJ137tB1g5qJ3VdHbOLDiV1SKwemYA3
oKsWo08vWB76Vd53v18XfgM5QsKnlRi0eB6KFEYW1rFH5W/s2tssho1BLMNVrvc8
28DymZ4xyO28JQr7C9kvbPuUNLG0nQF3y7rgQm+qtLTkZqYOhkfhqT5F5myeM6k2
eb0PuTTxxiJGJHza2a8/hGctg60GPsBCc++ErEB5MsZ+B1PvOr+4NjQezBmU45r3
akQV7c9p+3OUS3adUO7g0RDI94mShGq1KJV89X6khS/7yFZd0WhpeAlMYHgMxPHd
BdafYlndCnZIZTZrxqAQ
=bt0I
-----END PGP SIGNATURE-----
Merge tag 'sound-3.6' of 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
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: stable@vger.kernel.org
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
The compat wrappers incorrectly called the non compat versions of
the system process_vm system calls.
Cc: stable@vger.kernel.org
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
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 <jkosina@suse.cz>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
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 <holzheu@linux.vnet.ibm.com>
Reported-by: David A Gilbert <DavidAGilbert@uk.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
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: stable@vger.kernel.org
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50522
Tested-by: Yang Guang <guang.a.yang@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
The same ID is twice in the quirk table, so the second one is not used.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Cc: <stable@vger.kernel.org> [v3.2+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
We need to do left shift (cfg->num + LP8788_ISINK_SCALE_OFFSET) bits for
updating scale configuration.
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Tested-by: Milo(Woogyom) Kim <milo.kim@ti.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
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 <abbotti@mev.co.uk>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 <abbotti@mev.co.uk>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 <abbotti@mev.co.uk>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 <abbotti@mev.co.uk>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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 <abbotti@mev.co.uk>
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
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).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAABAgAGBQJQG5VwAAoJEIaOsuA1yqREa6YP/ROmLh9WlwNhDiw8Rdpimwn1
/03nZGkogwaFQwy2O7sHcJqcZABSG0V+5IrI1kU2R8pZVtKcAS6kxYSMazxhmKl7
ByyUv0xBHCjzm3M9mSfW0RrM+Kjo/bC+nVgfVOCrFZMrCnCNHj8013lm2RA5S4Vw
cAKQFXfb80Bd6yqic78+9oOvN4Dy7ikOYDEuNQSfpG8T1r8hD2kMeiCmlAsTDdKs
xiCfYvoNx87etwa77vlAG+lCdflREtouIG3/egLaW78MouF4vkGlMu2Zy2P+m+gW
1DY2TUJlW/Olbj+NrLgfpXRsJTE7PgusKVO74E5xAf28tu01/Pg3rmPP2/6C1Ioz
rNcVecsxAqYXwW3MU9kxfIMRBKOT7CYzVB+7S8wOmfyVCgetZcDuOq70WJ5iBllp
d+kp5yRkP/3OZLq6LbvWYakeptpCz9anGpryBiEZEwvHoA37V5lCbKE6poyHNtyI
0xvDJi++YzXn9gSZ0q9F4xsFtuMyFBfn9q+KIAwT6/R4+DiIQ3u+Gom4eQWYKroo
566bmYRvlgQcrcQ8GVg1u2IouM/fehaLWFMGWOD3HHpFh2YobsJOhiBuyBG9he08
PpZI7WWLPYlem8nO2qqBdn3kD6+c6JgpW7UdheQ4MjHhJ7MIutBuaodN4wdc/ZkJ
p3KjRLp8kYe7rpucpI2K
=bAd9
-----END PGP SIGNATURE-----
Merge tag 'fixes-for-v3.6-rc1' of 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).
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 <sarah.a.sharp@linux.intel.com>
Reported-by: Matthew Hall <mhall@mhcomputing.net>
Reported-by: Gary E. Miller <gem@rellim.com>
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
1530bbc627 "xhci: Add new short TX quirk
for Fresco Logic host."
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reported-by: Gary E. Miller <gem@rellim.com>
Cc: stable@vger.kernel.org
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 66d4eadd8d "USB: xhci:
BIOS handoff and HW initialization."
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reported-by: Edwin Klein Mentink <e.kleinmentink@zonnet.nl>
Cc: stable@vger.kernel.org
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 <tiwai@suse.de>
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 <Julia.Lawall@lip6.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
the pointers that are allocated with devm_kzalloc will be automatically freed,
at unload time.
Signed-off-by: Devendra Naga <develkernel412222@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Now that the auto model is the default, these quirks are redundant
and can be removed.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This computer is confirmed working with model=auto on kernel 3.2.
Also, parsing fails with hda-emu with the current model.
Cc: stable@kernel.org (3.2+)
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Tidy up a small typo in the HSI function group list.
Signed-off-by: Patrice Chotard <patrice.chotard@stericsson.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Also properly indent the HB IDs.
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Just a small typo fix to make lsxl dtbs compile
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@googlemail.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
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 <socketcan@hartkopp.net>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
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 a95a07445e.
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 <sassmann@kpanic.de>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
A bus trace shows that while executing e1000e_down, TCTL is cleared except
for the PSP bit. This occurs while in the middle of fetching a TSO packet
since the Tx packet buffer is full at that point. Before the device is
reset, the e1000_watchdog_task starts to run from the middle (it was
apparently pre-empted earlier, although that is not in the trace) and sets
TCTL.EN. At that point, 82571 transmits the corrupted packet, apparently
because TCTL.MULR was cleared in the middle of fetching a packet, which is
forbidden.
Driver should just clear TCTL.EN in e1000_reset_hw_82571 instead of
clearing the entire register, so as not to change any settings in the
middle of fetching a packet.
Signed-off-by: Tushar Dave <tushar.n.dave@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Found that commit d478eb44 was a bad commit.
If the link partner is transmitting codeword (even if NULL codeword),
then the RXCW.C bit will be set so check for RXCW.CW is unnecessary.
Ref: RH BZ 840642
Reported-by: Fabio Futigami <ffutigam@redhat.com>
Signed-off-by: Tushar Dave <tushar.n.dave@intel.com>
CC: Marcelo Ricardo Leitner <mleitner@redhat.com>
CC: stable <stable@vger.kernel.org> [2.6.38+]
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Naming of emma-prp related clocks for the i.MX27 is not correct.
Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
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 <julia@diku.dk>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Move gpc4 to the end of the automatically processed gpio controllers so
we don't taint the automatic offset calculation.
This bug caused all controllers coming after gpc4 to map to the
incorrect address. The result is <&gpd1 0 0 0 0> would actually map to
GPIO 0 in gpd0.
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Thomas Abraham <thomas.abraham@linaro.org>
Acked-by: Doug Anderson <dianders@chromium.org>
Acked-by: Kukjin Kim <kgene.kim@samsung.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Add alias for gpio nodes, so that gpio driver can identify the port
number and then specify a sensible gpio base rather than using the
one dynamically allocated by gpio core.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Currently, unlike the non-DT probe where the gpio base is specified
with pdev->id, the DT probe uses the base dynamically allocated by
gpio core, which uses a completely different numbering scheme. This
causes two issues to user space applications which access sysfs entry
/sys/class/gpio/gpioN.
* It breaks the compatibility with user space applications between
non-DT and DT kernels.
* It's not intuitive and sometimes hard for users to map the Linux
gpio number to the actual hardware pin.
Use alias to identify the gpio port/bank, and then the gpio base
can be specified with port id to solve above issues. If alias is not
defined in device tree, the base number dynamically allocated by gpio
core will be used.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Tested-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
As with the ThinkPad Models X230 Tablet and T530 the X230 needs a qurik to
correctly set up the pins for the dock port.
Signed-off-by: Felix Kaechele <felix@fetzig.org>
Cc: <stable@vger.kernel.org> [v3.2+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
IPv6 needs a cookie in dst_check() call.
We need to add rx_dst_cookie and provide a family independent
sk_rx_dst_set(sk, skb) method to properly support IPv6 TCP early demux.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
The semantic patch that makes this change is available
in scripts/coccinelle/api/ptr_ret.cocci.
More information about semantic patching is available at
http://coccinelle.lip6.fr/
Signed-off-by: Thomas Meyer <thomas@m3y3r.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Some action modules free struct tcf_common in their error path
while estimator is still active. This results in est_timer()
dereference freed memory.
Add gen_kill_estimator() in ipt, pedit and simple action.
Signed-off-by: Hiroaki SHIMODA <shimoda.hiroaki@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
__neigh_create() returns either a pointer to struct neighbour or PTR_ERR().
But the caller expects it to return either a pointer or NULL. Replace
the NULL check with IS_ERR() check.
The bug was introduced in a263b30936
("ipv4: Make neigh lookups directly in output packet path.").
Signed-off-by: Vasily Kulikov <segoon@openwall.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
We are freeing skb instead of nskb, resulting in a double
free on skb and a leak from nskb.
Signed-off-by: Sorin Dumitru <sdumitru@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
When building with ixp4xx_eth and ptp_ixp46x as module, one is getting the
following error:
ERROR: "ixp46x_phc_index" [drivers/ptp/ptp_ixp46x.ko] undefined!
This has been introduced by commit 509a7c2572.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
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 <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>