20 Dec, 2011
4 commits
-
Commit 8ffd3208 voids the previous patches f6778aab and 810c0719 for
limiting the autoclose value. If userspace passes in -1 on 32-bit
platform, the overflow check didn't work and autoclose would be set
to 0xffffffff.This patch defines a max_autoclose (in seconds) for limiting the value
and exposes it through sysctl, with the following intentions.1) Avoid overflowing autoclose * HZ.
2) Keep the default autoclose bound consistent across 32- and 64-bit
platforms (INT_MAX / HZ in this patch).3) Keep the autoclose value consistent between setsockopt() and
getsockopt() calls.Suggested-by: Vlad Yasevich
Signed-off-by: Xi Wang
Signed-off-by: David S. Miller -
The MSIEnable bit is only available for the 8169.
Avoid Config2 writes for the post-8169 8168 and 810x.
Reported-by: Su Kang Yin
Signed-off-by: Francois Romieu
Cc: Hayes Wang
Signed-off-by: David S. Miller -
Received non stream protocol packets were calling llc_cmsg_rcv that used a
skb after that skb was released by sk_eat_skb. This caused received STP
packets to generate kernel panics.Signed-off-by: Alexandru Juncu
Signed-off-by: Kunjan Naik
Signed-off-by: David S. Miller -
x86 jump instruction size is 2 or 5 bytes (near/long jump), not 2 or 6
bytes.In case a conditional jump is followed by a long jump, conditional jump
target is one byte past the start of target instruction.Signed-off-by: Markus Kötter
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
19 Dec, 2011
1 commit
17 Dec, 2011
20 commits
-
This reverts commit eb1711bb94991e93669c5a1b5f84f11be2d51ea1.
It blows up the i915 seqno tracking, resulting in the
BUG_ON(seqno == 0);
in i915_wait_request() triggering, which will cause lock-ups.
See for example
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/903010
https://lkml.org/lkml/2011/12/14/395Reported-requested-and-tested-by: Dirk Hohndel
Reported-by: Richard Eames
Reported-by: Rocko Requin
Acked-by: Daniel Vetter
Cc: Dave Airlie
Cc: Chris Wilson
Cc: Keith Packard
Cc: Eric Anholt
Signed-off-by: Linus Torvalds -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
sparc32: Be less strict in matching %lo part of relocation.
sbus: convert drivers/sbus/char/* to use module_platform_driver()
bbc_i2c: Remove unneeded err variable
sparc: Use kmemdup rather than duplicating its implementation -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
ipv6: Check dest prefix length on original route not copied one in rt6_alloc_cow().
sch_gred: should not use GFP_KERNEL while holding a spinlock
ipip, sit: copy parms.name after register_netdevice
ipv6: Fix for adding multicast route for loopback device automatically.
ssb: fix init regression with SoCs
rtl8192{ce,cu,de,se}: avoid problems because of possible ERFOFF -> ERFSLEEP transition
mac80211: fix another race in aggregation start
fsl_pq_mdio: Clean up tbi address configuration
ppp: fix pptp double release_sock in pptp_bind()
net/fec: fix the use of pdev->id
ath9k: fix check for antenna diversity support
batman-adv: delete global entry in case of roaming
batman-adv: in case of roaming mark the client with TT_CLIENT_ROAM
Bluetooth: Correct version check in hci_setup
btusb: fix a memory leak in btusb_send_frame()
Bluetooth: bnep: Fix module reference
Bluetooth: cmtp: Fix module reference
Bluetooth: btmrvl: support Marvell Bluetooth device SD8797 -
…inux/kernel/git/mason/linux-btrfs
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
Btrfs: unplug every once and a while
Btrfs: deal with NULL srv_rsv in the delalloc inode reservation code
Btrfs: only set cache_generation if we setup the block group
Btrfs: don't panic if orphan item already exists
Btrfs: fix leaked space in truncate
Btrfs: fix how we do delalloc reservations and how we free reservations on error
Btrfs: deal with enospc from dirtying inodes properly
Btrfs: fix num_workers_starting bug and other bugs in async thread
BTRFS: Establish i_ops before calling d_instantiate
Btrfs: add a cond_resched() into the worker loop
Btrfs: fix ctime update of on-disk inode
btrfs: keep orphans for subvolume deletion
Btrfs: fix inaccurate available space on raid0 profile
Btrfs: fix wrong disk space information of the files
Btrfs: fix wrong i_size when truncating a file to a larger size
Btrfs: fix btrfs_end_bio to deal with write errors to a single mirror* 'for-linus-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
btrfs: lower the dirty balance poll interval -
* 'drm-intel-fixes' of git://people.freedesktop.org/~keithp/linux:
drm/i915/dp: Dither down to 6bpc if it makes the mode fit
drm/i915: enable semaphores on per-device defaults
drm/i915: don't set unpin_work if vblank_get fails
drm/i915: By default, enable RC6 on IVB and SNB when reasonable
iommu: Export intel_iommu_enabled to signal when iommu is in use
drm/i915/sdvo: Include LVDS panels for the IS_DIGITAL check
drm/i915: prevent division by zero when asking for chipset power
drm/i915: add PCH info to i915_capabilities
drm/i915: set the right SDVO transcoder for CPT
drm/i915: no-lvds quirk for ASUS AT5NM10T-I
drm/i915: Treat pre-gen4 backlight duty cycle value consistently
drm/i915: Hook up Ivybridge eDP
drm/i915: add multi-threaded forcewake support -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ALSA: HDA: Use LPIB Position fix for Intel SCH Poulsbo
ALSA: hda: fix mute led polarity for HP laptops with buggy BIOS
ALSA: HDA: Set position fix to LPIB for an Atom/Poulsbo based device
ASoC: Fix hx4700 error handling to free gpios if snd_soc_register_card fails
ASoC: WM8958: correctly show firmware magic on mismatch
ASoC: mxs: Add appropriate MODULE_ALIAS()
ASoC: mxs: Add missing MODULE_LICENSE("GPL")
ASoC: Fix WM8996 24.576MHz clock operation
ASoC: Include linux/module.h for smdk2443_wm9710
ASoC: Fix a typo in jive_wm8750
ASoC: Fix build dependency for SND_SOC_JZ4740_CODEC
ASoC: Include linux/io.h for jz4740 codec -
* 'gpio/merge' of git://git.secretlab.ca/git/linux-2.6:
gpio: Fix DA9052 GPIO build errors.
gpio: mpc8xxx: don't allow input-only pins to be output for MPC5121
gpio-ml-ioh: Add the irq_disable/irq_enable hooks for ml-ioh irq chip
gpio-ml-ioh: fix a bug in the interrupt handler
gpio: pl061: drop extra check for NULL platform_data -
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
ARM: OMAP: rx51: fix USB
ARM: OMAP: mcbsp: Fix possible memory corruption
arm/imx: fix power button on imx51 babbage board
ARM: imx: fix cpufreq build errors
ARM: mx5: add __initconst for fec pdata
MXC PWM: should active during DOZE/WAIT/DBG mode
ARM: EXYNOS: Fix build error without CONFIG_LOCAL_TIMERS
ARM: EXYNOS: Fix for stall in case of cpu hotplug or sleep
ARM: S5PV210: Set 1000ns as PWM backlight period on SMDKV210
ARM: SAMSUNG: remove duplicated header include -
* 'for-linus' of git://git.kernel.dk/linux-block:
block: don't kick empty queue in blk_drain_queue()
block/swim3: Locking fixes
loop: Fix discard_alignment default setting
cfq-iosched: fix cfq_cic_link() race confition
cfq-iosched: free cic_index if blkio_alloc_blkg_stats fails
cciss: fix flush cache transfer length
cciss: Add IRQF_SHARED back in for the non-MSI(X) interrupt handler
loop: fix loop block driver discard and encryption comment
block: initialize request_queue's numa node during -
Tests show that the original large intervals can easily make the dirty
limit exceeded on 100 concurrent dd's. So adapt to as large as the
next check point selected by the dirty throttling algorithm.Signed-off-by: Wu Fengguang
Signed-off-by: Chris Mason -
Some active adaptors (VGA usually) only have two lanes at 2.7GHz.
That's a maximum pixel clock of 144MHz at 8bpc, but 192MHz at 6bpc.Fixes Asus UX31 panel being black at startup due to no valid modes since
dc22ee6fc18ce0f15424e753e8473c306ece95c1.v2: Rebased to current code, resulting in the fix applying to EDP panels as
well. Also changed from spatio-temporal to just spatial dithering on
pre-ironlake, to be conssitent (and less visual flicker)Signed-off-by: Adam Jackson
Signed-off-by: Eric Anholt
Tested-by: Eric Anholt
Tested-by: Dirk Hohndel
Signed-off-by: Keith Packard -
This adds a default setting for semaphores parameter, and enables
semaphores by default on IVB.For now, as semaphores interaction with VTd causes random issues on
SNB, we do not enable them by default. But they can still be enabled
via the semaphores=1 kernel parameter.v2: enables semaphores on SNB when IO remapping is disabled, with base
on Keith Packard patch.CC: Daniel Vetter
CC: Ben Widawsky
CC: Keith Packard
CC: Jesse Barnes
CC: Chris Wilson
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42696
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40564
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41353
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38862
Reviewed-by: Chris Wilson
Reviewed-by: Daniel Vetter
Signed-off-by: Eugeni Dodonov
Signed-off-by: Keith Packard -
This fixes a race where we may try to finish a page flip and decrement
the refcount even if our vblank_get failed and we ended up with a
spurious flip pending interrupt.Fixes https://bugs.freedesktop.org/show_bug.cgi?id=34211.
Signed-off-by: Jesse Barnes
Signed-off-by: Keith Packard -
RC6 should always work on IVB, and should work on SNB whenever IO
remapping is disabled. RC6 never works on Ironlake. Make the default
value for the parameter follow these guidelines. Setting the value
to either 0 or 1 will force the specified behavior.Signed-off-by: Keith Packard
Reviewed-by: Kenneth Graunke
Reviewed-by: Eugeni Dodonov
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=38567
Cc: Ted Phelps
Cc: Peter
Cc: Lukas Hejtmanek
Cc: Andrew Lutomirski -
In i915 driver, we do not enable either rc6 or semaphores on SNB when dmar
is enabled. The new 'intel_iommu_enabled' variable signals when the
iommu code is in operation.Cc: Ted Phelps
Cc: Peter
Cc: Lukas Hejtmanek
Cc: Andrew Lutomirski
CC: Daniel Vetter
Cc: Eugeni Dodonov
Signed-off-by: Keith Packard -
We were checking whether the supplied edid matched the connector it was
read from. We do this in case a DDC read returns an EDID for another
device on a multifunction or otherwise interesting card. However, we
failed to include LVDS as a digital device and so rejecting an otherwise
valid EDID.Fixes the detection of the secondary SDVO LVDS panel on the Libretto
W105.Signed-off-by: Chris Wilson
Reviewed-by: Adam Jackson
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39216
Signed-off-by: Keith Packard -
This prevents an in-kernel division by zero which happens when we are
asking for i915_chipset_val too quickly, or within a race condition
between the power monitoring thread and userspace accesses via debugfs.The issue can be reproduced easily via the following command:
while ``; do cat /sys/kernel/debug/dri/0/i915_emon_status; doneThis is particularly dangerous because it can be triggered by
a non-privileged user by just reading the debugfs entry.This issue was also found independently by Konstantin Belousov
, who proposed a similar patch.Reported-by: Konstantin Belousov
Acked-by: Jesse Barnes
Acked-by: Keith Packard
Reviewed-by: Chris Wilson
Cc:
Signed-off-by: Eugeni Dodonov
Signed-off-by: Keith Packard -
Signed-off-by: Chris Wilson
Signed-off-by: Paulo Zanoni
Signed-off-by: Keith Packard -
v2: add a CPT-specific macro, make code cleaner
v3: fix commit messageBugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=41272
Cc: stable@kernel.org
Signed-off-by: Paulo Zanoni
Reviewed-by: Chris Wilson
Signed-off-by: Keith Packard -
https://bugzilla.redhat.com/show_bug.cgi?id=750006
Signed-off-by: Adam Jackson
Signed-off-by: Keith Packard
16 Dec, 2011
15 commits
-
…kgene/linux-samsung into fixes
-
* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft:
ibft: Fix finding IBFT ACPI table on UEFI -
* 'staging-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
staging: r8712u: Add new USB ID
staging: tidspbridge: request dmtimer clocks on init
staging: tidspbridge: include module.h by default -
* 'usb-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
USB: option: Removing one bogus and adding some new Huawei combinations
USB: cdc-acm: add IDs for Motorola H24 HSPA USB module.
usb: option: Add Huawei E398 controlling interfaces
usb: renesas_usbhs: add hcd->has_tt for low/full speed
usb: renesas_usbhs: typofix: irq_dtch control DTCHE
usb: gadget: storage: release superspeed descriptors. -
The bisection implemented in unwind_find_origin() stopped to early. If
there is only a single entry left to check the original code just took
the end point as origin which might be wrong.This was introduced in commit de66a979012d ("ARM: 7187/1: fix unwinding
for XIP kernels").Reported-and-tested-by: Nick Bowler
Signed-off-by: Uwe Kleine-König
Signed-off-by: Linus Torvalds -
The btrfs io submission threads can build up massive plug lists. This
keeps things more reasonable so we don't hand over huge dumps of IO at
once.Signed-off-by: Chris Mason
-
While probing, fd sets up queue, probes hardware and tears down the
queue if probing fails. In the process, blk_drain_queue() kicks the
queue which failed to finish initialization and fd is unhappy about
that.floppy0: no floppy controllers found
------------[ cut here ]------------
WARNING: at drivers/block/floppy.c:2929 do_fd_request+0xbf/0xd0()
Hardware name: To Be Filled By O.E.M.
VFS: do_fd_request called on non-open device
Modules linked in:
Pid: 1, comm: swapper Not tainted 3.2.0-rc4-00077-g5983fe2 #2
Call Trace:
[] warn_slowpath_common+0x7a/0xb0
[] warn_slowpath_fmt+0x41/0x50
[] do_fd_request+0xbf/0xd0
[] blk_drain_queue+0x65/0x80
[] blk_cleanup_queue+0xe3/0x1a0
[] floppy_init+0xdeb/0xe28
[] ? daring+0x6b/0x6b
[] do_one_initcall+0x3f/0x170
[] kernel_init+0x9d/0x11e
[] ? schedule_tail+0x22/0xa0
[] kernel_thread_helper+0x4/0x10
[] ? start_kernel+0x2be/0x2be
[] ? gs_change+0xb/0xbAvoid it by making blk_drain_queue() kick queue iff dispatch queue has
something on it.Signed-off-by: Tejun Heo
Reported-by: Ralf Hildebrandt
Reported-by: Wu Fengguang
Tested-by: Sergei Trofimovich
Signed-off-by: Jens Axboe -
…kernel/git/konrad/xen
* 'stable/for-linus-fixes-3.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
xen/swiotlb: Use page alignment for early buffer allocation.
xen: only limit memory map to maximum reservation for domain 0. -
…wireless into for-davem
-
…/btrfs-work into integration
Conflicts:
fs/btrfs/inode.cSigned-off-by: Chris Mason <chris.mason@oracle.com>
-
btrfs_update_inode is sometimes called with a null reservation.
Signed-off-by: Chris Mason
-
This patch is functionally tested on Samsung SMDKV6410.
Reported-by: Stephen Rothwell
Signed-off-by: David Dajun Chen
Signed-off-by: Ashish Jangam
[grant.likely: don't create an unnecessary header file]
Signed-off-by: Grant Likely -
This fixes an odd bug found on a Dell PowerEdge 1850/0RC130
(BIOS A05 01/09/2006) where all of the modules doing pci_set_dma_mask
would fail with:ata_piix 0000:00:1f.1: enabling device (0005 -> 0007)
ata_piix 0000:00:1f.1: can't derive routing for PCI INT A
ata_piix 0000:00:1f.1: BMDMA: failed to set dma mask, falling back to PIOThe issue was the Xen-SWIOTLB was allocated such as that the end of
buffer was stradling a page (and also above 4GB). The fix was
spotted by Kalev Leonid which was to piggyback on git commit
e79f86b2ef9c0a8c47225217c1018b7d3d90101c "swiotlb: Use page alignment
for early buffer allocation" which:We could call free_bootmem_late() if swiotlb is not used, and
it will shrink to page alignment.So alloc them with page alignment at first, to avoid lose two pages
And doing that fixes the outstanding issue.
CC: stable@kernel.org
Suggested-by: "Kalev, Leonid"
Reported-and-Tested-by: "Taylor, Neal E"
Signed-off-by: Konrad Rzeszutek Wilk -
d312ae878b6a "xen: use maximum reservation to limit amount of usable RAM"
clamped the total amount of RAM to the current maximum reservation. This is
correct for dom0 but is not correct for guest domains. In order to boot a guest
"pre-ballooned" (e.g. with memory=1G but maxmem=2G) in order to allow for
future memory expansion the guest must derive max_pfn from the e820 provided by
the toolstack and not the current maximum reservation (which can reflect only
the current maximum, not the guest lifetime max). The existing algorithm
already behaves this correctly if we do not artificially limit the maximum
number of pages for the guest case.For a guest booted with maxmem=512, memory=128 this results in:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] Xen: 0000000000000000 - 00000000000a0000 (usable)
[ 0.000000] Xen: 00000000000a0000 - 0000000000100000 (reserved)
-[ 0.000000] Xen: 0000000000100000 - 0000000008100000 (usable)
-[ 0.000000] Xen: 0000000008100000 - 0000000020800000 (unusable)
+[ 0.000000] Xen: 0000000000100000 - 0000000020800000 (usable)
...
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI not present or invalid.
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
-[ 0.000000] last_pfn = 0x8100 max_arch_pfn = 0x1000000
+[ 0.000000] last_pfn = 0x20800 max_arch_pfn = 0x1000000
[ 0.000000] initial memory mapped : 0 - 027ff000
[ 0.000000] Base memory trampoline at [c009f000] 9f000 size 4096
-[ 0.000000] init_memory_mapping: 0000000000000000-0000000008100000
-[ 0.000000] 0000000000 - 0008100000 page 4k
-[ 0.000000] kernel direct mapping tables up to 8100000 @ 27bb000-27ff000
+[ 0.000000] init_memory_mapping: 0000000000000000-0000000020800000
+[ 0.000000] 0000000000 - 0020800000 page 4k
+[ 0.000000] kernel direct mapping tables up to 20800000 @ 26f8000-27ff000
[ 0.000000] xen: setting RW the range 27e8000 - 27ff000
[ 0.000000] 0MB HIGHMEM available.
-[ 0.000000] 129MB LOWMEM available.
-[ 0.000000] mapped low ram: 0 - 08100000
-[ 0.000000] low ram: 0 - 08100000
+[ 0.000000] 520MB LOWMEM available.
+[ 0.000000] mapped low ram: 0 - 20800000
+[ 0.000000] low ram: 0 - 20800000With this change "xl mem-set 512M" will successfully increase the
guest RAM (by reducing the balloon).There is no change for dom0.
Reported-and-Tested-by: George Shuklin
Signed-off-by: Ian Campbell
Cc: stable@kernel.org
Reviewed-by: David Vrabel
Signed-off-by: Konrad Rzeszutek Wilk