27 Jul, 2010
40 commits
-
Now that all arches have been converted over to use generic time via
clocksources or arch_gettimeoffset(), we can remove the GENERIC_TIME
config option and simplify the generic code.Signed-off-by: John Stultz
LKML-Reference:
Signed-off-by: Thomas Gleixner -
After accidentally misusing timespec_add_safe, I wanted to make sure
we don't accidently trip over that issue again, so I created a simple
timespec_add() function which we can use to replace the instances
of timespec_add_safe() that don't want the overflow detection.Signed-off-by: John Stultz
LKML-Reference:
Signed-off-by: Thomas Gleixner -
Due to vtime calling vgettimeofday(), its possible that an application
could call time();create("stuff",O_RDRW); only to see the file's
creation timestamp to be before the value returned by time.A similar way to reproduce the issue is to compare the vsyscall time()
with the syscall time(), and observe ordering issues.The modified test case from Oleg Nesterov below can illustrate this:
int main(void)
{
time_t sec1,sec2;
do {
sec1 = time(&sec2);
sec2 = syscall(__NR_time, NULL);
} while (sec1
Cc: Jiri Olsa
Cc: Oleg Nesterov
LKML-Reference:
Signed-off-by: Thomas Gleixner -
…git/tip/linux-2.6-tip
* 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
x86: Do not try to disable hpet if it hasn't been initialized before
x86, i8259: Only register sysdev if we have a real 8259 PIC -
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
[CPUFREQ] powernow-k8: Limit Pstate transition latency check
[CPUFREQ] Fix PCC driver error path
[CPUFREQ] fix double freeing in error path of pcc-cpufreq
[CPUFREQ] pcc driver should check for pcch method before calling _OSC
[CPUFREQ] fix memory leak in cpufreq_add_dev
[CPUFREQ] revert "[CPUFREQ] remove rwsem lock from CPUFREQ_GOV_STOP call (second call site)" -
* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus:
MIPS: Set io_map_base for several PCI bridges lacking it
MIPS: Alchemy: Define eth platform devices in the correct order
MIPS: BCM63xx: Prevent second enet registration on BCM6338
MIPS: Quit using undefined behavior of ADDU in 64-bit atomic operations.
MIPS: N32: Define getdents64.
MIPS: MTX-1: Fix PCI on the MeshCube and related boards
MIPS: Make init_vdso a subsys_initcall.
MIPS: "Fix" useless 'init_vdso successfully' message.
MIPS: PowerTV: Move register setup to before reading registers.
SOUND: Au1000: Fix section mismatch
VIDEO: Au1100fb: Fix section mismatch
VIDEO: PMAGB-B: Fix section mismatch
VIDEO: PMAG-BA: Fix section mismatch
NET: declance: Fix section mismatches
VIDEO. gbefb: Fix section mismatches. -
Fix error from the last pull request. Making sure we shut the panel off
is more correct and saves power.Signed-off-by: Jesse Barnes
Signed-off-by: Linus Torvalds -
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6:
sysfs: allow creating symlinks from untagged to tagged directories
sysfs: sysfs_delete_link handle symlinks from untagged to tagged directories.
sysfs: Don't allow the creation of symlinks we can't remove -
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
USB: musb: tusb6010: fix compile error with n8x0_defconfig
USB: FTDI: Add support for the RT System VX-7 radio programming cable
USB: add quirk for Broadcom BT dongle
USB: usb-storage: fix initializations of urb fields
USB: xhci: Set Mult field in endpoint context correctly.
USB: sisusbvga: Fix for USB 3.0
USB: adds Artisman USB dongle to list of quirky devices
USB: xhci: Set EP0 dequeue ptr after reset of configured device.
USB: Fix USB3.0 Port Speed Downgrade after port reset
USB: xHCI: Fix another bug in link TRB activation change.
USB: option: Add support for AMOI Skypephone S2
USB: New PIDs for Qualcomm gobi 2000 (qcserial)
USB: ftdi_sio: support for Signalyzer tools based on FTDI chips
USB: s3c2410_udc: be aware of connected gadget driver
USB: Expose vendor-specific ACM channel on Nokia 5230
USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c
USB: option: add support for 1da5:4518 -
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6:
serial: fix rs485 for atmel_serial on avr32 -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:
drm/i915: add pipe A force quirks to i915 driver
drm/i915: Fix panel fitting regression since 734b4157
drm/i915: fix deadlock in fb teardown
drm/i915: don't free non-existent compressed llb on ILK+
agp/intel: Use the correct mask to detect i830 aperture size.
drm/i915: disable FBC when more than one pipe is active
drm/i915: Use the correct scanout alignment for fbcon.
drm/i915: make sure eDP panel is turned on
drm/i915: add PANEL_UNLOCK_REGS definition
drm/i915: Make G4X-style PLL search more permissive
drm/i915: Clear any existing dither mode prior to enabling spatial dithering
drm/i915: handle shared framebuffers when flipping
drm/i915: Explosion following OOM in do_execbuffer.
gpu/drm/i915: Add a blacklist to omit modeset on LID open -
The Pstate transition latency check was added for broken F10h BIOSen
which wrongly contain a value of 0 for transition and bus master
latency. Fam11h and later, however, (will) have similar transition
latency so extend that behavior for them too.Signed-off-by: Borislav Petkov
Signed-off-by: Dave Jones -
The PCC cpufreq driver unmaps the mailbox address range if any CPUs fail to
initialise, but doesn't do anything to remove the registered CPUs from the
cpufreq core resulting in failures further down the line. We're better off
simply returning a failure - the cpufreq core will unregister us cleanly if
we end up with no successfully registered CPUs. Tidy up the failure path
and also add a sanity check to ensure that the firmware gives us a realistic
frequency - the core deals badly with that being set to 0.Signed-off-by: Matthew Garrett
Cc: Naga Chumbalkar
Signed-off-by: Dave Jones -
Prevent double freeing on error path.
Signed-off-by: Daniel J Blueman
Signed-off-by: Dave Jones -
The pcc specification documents an _OSC method that's incompatible with the
one defined as part of the ACPI spec. This shouldn't be a problem as both
are supposed to be guarded with a UUID. Unfortunately approximately nobody
(including HP, who wrote this spec) properly check the UUID on entry to the
_OSC call. Right now this could result in surprising behaviour if the pcc
driver performs an _OSC call on a machine that doesn't implement the pcc
specification. Check whether the PCCH method exists first in order to reduce
this probability.Signed-off-by: Matthew Garrett
Cc: Naga Chumbalkar
Signed-off-by: Dave Jones -
We didn't free policy->related_cpus in error path err_unlock_policy.
This is catched by following kmemleak report:unreferenced object 0xffff88022a0b96d0 (size 512):
comm "modprobe", pid 886, jiffies 4294689177 (age 780.694s)
hex dump (first 32 bytes):
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
backtrace:
[] create_object+0x186/0x281
[] kmemleak_alloc+0x60/0xa7
[] kmem_cache_alloc_node_notrace+0x120/0x142
[] alloc_cpumask_var_node+0x2c/0xd7
[] alloc_cpumask_var+0x11/0x13
[] zalloc_cpumask_var+0xf/0x11
[] cpufreq_add_dev+0x11f/0x547
[] sysdev_driver_register+0xc2/0x11d
[] cpufreq_register_driver+0xcb/0x1b8
[] 0xffffffffa032e040
[] do_one_initcall+0x5e/0x15c
[] sys_init_module+0xa6/0x1e6
[] system_call_fastpath+0x16/0x1b
[] 0xffffffffffffffffSigned-off-by: Xiaotian Feng
Cc: Thomas Renninger
Cc: Prarit Bhargava
Signed-off-by: Dave Jones -
395913d0b1db37092ea3d9d69b832183b1dd84c5 ("[CPUFREQ] remove rwsem lock
from CPUFREQ_GOV_STOP call (second call site)") is not needed, because
there is no rwsem lock in cpufreq_ondemand and cpufreq_conservative
anymore. Lock should not be released until the work done.Addresses https://bugzilla.kernel.org/show_bug.cgi?id=1594
Signed-off-by: Andrej Gelenberg
Cc: Mathieu Desnoyers
Cc: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Acked-by: Mathieu Desnoyers
Signed-off-by: Dave Jones -
Supporting symlinks from untagged to tagged directories is reasonable,
and needed to support CONFIG_SYSFS_DEPRECATED. So don't fail a prior
allowing that case to work.Signed-off-by: Eric W. Biederman
Signed-off-by: Greg Kroah-Hartman -
This happens for network devices when SYSFS_DEPRECATED is enabled.
Signed-off-by: Eric W. Biederman
Signed-off-by: Greg Kroah-Hartman -
Recently my tagged sysfs support revealed a flaw in the device core
that a few rare drivers are running into such that we don't always put
network devices in a class subdirectory named net/.Since we are not creating the class directory the network devices wind
up in a non-tagged directory, but the symlinks to the network devices
from /sys/class/net are in a tagged directory. All of which works
until we go to remove or rename the symlink. When we remove or rename
a symlink we look in the namespace of the target of the symlink.
Since the target of the symlink is in a non-tagged sysfs directory we
don't have a namespace to look in, and we fail to remove the symlink.Detect this problem up front and simply don't create symlinks we won't
be able to remove later. This prevents symlink leakage and fails in
a much clearer and more understandable way.Signed-off-by: Eric W. Biederman
Cc: Andrew Morton
Cc: Rafael J. Wysocki
Cc: Maciej W. Rozycki
Cc: Kay Sievers
Cc: Johannes Berg
Signed-off-by: Greg Kroah-Hartman -
Drop the unnecessary empty stubs in tusb6010.c and avoid
a compile error when building kernel for n8x0.Signed-off-by: Felipe Balbi
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
RT Systems has put out bunch of ham radio cables based on the FT232RL
chip. Each cable type has a unique PID, this adds one for the Yaesu VX-7
radios.Signed-off-by: Corey Minyard
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
This device needs to be reset when resuming
Signed-off-by: Oliver Neukum
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Commit 0ede76fcec5415ef82a423a95120286895822e2d, "USB: remove uses of
URB_NO_SETUP_DMA_MAP" introduced a regression by inadvertantly removing
initialization of the transfer flags. This caused initialization
failures in the ums-karma driver. Fix the regression by zeroing it.While at it, as Alan Stern points out, the initializers for
actual_length and status are handled by the core and error_count
only matters for isochronous urbs, so they don't need to be set here.
Remove them.Signed-off-by: Bob Copeland
Acked-by: Alan Stern
Signed-off-by: Greg Kroah-Hartman -
The bmAttributes field of the SuperSpeed Endpoint Companion Descriptor has
different meanings, depending on the endpoint type. If the endpoint is
isochronous, the bmAttributes field is the maximum number of packets
within a service interval that this endpoint supports. If the endpoint is
bulk, it's the number of stream IDs this endpoint supports.Only set the Mult field of the xHCI endpoint context using the
bmAttributes field if the endpoint is isochronous, and the device is a
SuperSpeed device.Signed-off-by: Sarah Sharp
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Super speed is also fast enough to let sisusbvga operate.
Therefor expand the checks.Signed-off-by: Oliver Neukum
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
When an attempt is made to read the interface strings of the Artisman
Watchdog USB dongle (idVendor:idProduct 04b4:0526) an error is written
to the dmesg log (uhci_result_common: failed with status 440000) and the
dongle resets itself, resulting in a disconnect/reconnect loop.Adding the dongle to the list of devices in quirks.c, with the same
quirk Alan Stern's previous patch for the Saitek Cyborg Gold 3D
joystick, stops the device from resetting and allows it to be used with
no problems.Signed-off-by: Paul Mortier
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
When a configured device is reset, the control endpoint's ring is reused.
If control transfers to the device were issued before the device is reset,
the dequeue pointer will be somewhere in the middle of the ring. If the
device is then issued an address with the set address command, the xHCI
driver must provide a valid input context for control endpoint zero.The original code would give the hardware the original input context,
which had a dequeue pointer set to the top of the ring. This would cause
the host to re-execute any control transfers until it reached the ring's
enqueue pointer. When issuing a set address command for a device that has
just been configured and then reset, use the control endpoint's enqueue
pointer as the hardware's dequeue pointer.Assumption: All control transfers will be completed or cancelled before
the set address command is issued to the device. If there are any
outstanding control transfers, this code will not work.Signed-off-by: Sarah Sharp
Signed-off-by: Greg Kroah-Hartman -
Without this fix, a USB 3.0 port is downgraded to full speed after a port
reset of a configured device. The USB 3.0 terminations will be disabled
permanently, and USB 3.0 devices will always enumerate as full speed
devices, until the host controller is unplugged (if it is an ExpressCard)
or the computer is rebooted.Fajun Chen traced this traced the speed downgrade issue to the port reset
and the interpretation of port status in USB hub driver code. The hub
code was not testing for the port being a SuperSpeed port, and it fell
through to the else case of Full Speed.The following patch adds SuperSpeed mapping from the port status, and
fixes the speed downgrade issue.Reported-by: Fajun Chen
Signed-off-by: Sarah Sharp
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Commit 6c12db90f19727c76990e7f4801c67a148b30111 also seems to have
introduced a bug that is triggered when the command ring is about to wrap.
The inc_enq() function will not have moved the enqueue pointer past the
link TRB. It is supposed to be moved past the link TRB in prepare_ring(),
which should be called before a TD is enqueued. However, the
queue_command() function never calls the prepare_ring() function because
prepare_ring() is only supposed to be used for endpoint rings. That means
the enqueue pointer will not be moved past the link TRB, and will get
overwritten.The fix is to make queue_command() call prepare_ring() with a fake
endpoint status (set to running). Then the enqueue pointer will get moved
past the link TRB.Signed-off-by: Sarah Sharp
Signed-off-by: Greg Kroah-Hartman -
usbserial: Add AMOI Skypephone S2 support.
This patch adds support for the AMOI Skypephone S2 to the usbserial module.
Tested-by: Dennis Jansen
Signed-off-by: Dennis Jansen
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Adds support for the Generic Qualcomm Gobi 2000 WWAN UMTS/CDMA modem
Signed-off-by: Andrew Bird
Signed-off-by: Greg Kroah-Hartman -
ftdi_sio: support for Signalyzer tools based on FTDI chips
This patch adds support for the Xverve Signalyzers.
Signed-off-by: Colin Leitner
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
To escape from data abort in interrupt handler, it is required to
check for a connected gadget before delivering control requests.The change fixes the following panic, which occurs with no loaded
gadget driver and input USB_REQ_GET_DESCRIPTOR request:Kernel panic - not syncing: Fatal exception in interrupt
[] (unwind_backtrace+0x0/0xd8) from [] (panic+0x40/0x110)
[] (panic+0x40/0x110) from [] (die+0x154/0x180)
[] (die+0x154/0x180) from [] (__do_kernel_fault+0x64/0x74)
[] (__do_kernel_fault+0x64/0x74) from [] (do_page_fault+0x1b8/0x1cc)
[] (do_page_fault+0x1b8/0x1cc) from [] (do_DataAbort+0x34/0x94)
[] (do_DataAbort+0x34/0x94) from [] (__dabt_svc+0x40/0x60)
Exception stack(0xc0327ea8 to 0xc0327ef0)
7ea0: bf0026b0 c0327ef0 c0327ee4 00000000 bf002590 00000093
7ec0: 00000001 bf0026b0 bf002990 00000000 00000008 0000143d 00003f00 c0327ef0
7ee0: bf001364 bf001360 20000093 ffffffff
[] (__dabt_svc+0x40/0x60) from [] (s3c2410_udc_irq+0x5b8/0x778 [s3c2410_udc])
[] (s3c2410_udc_irq+0x5b8/0x778 [s3c2410_udc]) from [] (handle_IRQ_event+0x3c/0x104)
[] (handle_IRQ_event+0x3c/0x104) from [] (handle_edge_irq+0x12c/0x164)
[] (handle_edge_irq+0x12c/0x164) from [] (asm_do_IRQ+0x68/0x88)
[] (asm_do_IRQ+0x68/0x88) from [] (__irq_svc+0x24/0xa0)Signed-off-by: Vladimir Zapolskiy
Signed-off-by: Greg Kroah-Hartman -
Nokia S60 phones expose two ACM channels. The first is
a modem, the second is 'vendor-specific' but is treated
as a serial device at the S60 end, so we want to expose
it on Linux too.Signed-off-by: Przemo Firszt
Signed-off-by: Greg Kroah-Hartman -
Add VID/PID for Sierra Wireless 250U USB dongle to sierra.c
Allows use of 3G radio onlySigned-off-by: August Huber
Cc: Elina Pasheva
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Signed-off-by: Omer Sezgin Ugurlu
Cc: stable
Signed-off-by: Greg Kroah-Hartman -
Ported over from the old UMS list. Unfortunately they're still
necessary especially on older laptop platforms.Fixes https://bugs.freedesktop.org/show_bug.cgi?id=22126.
Tested-by: Xavier
Tested-by: Diego Escalante Urrelo
Signed-off-by: Jesse Barnes
Signed-off-by: Eric Anholt -
The crtc mode fixup is run after the encoders adjust the mode to fit on
their output, so don't reset the mode!Fixes:
Bug 29057 - display corruption under 800x600 on netbook
(1024x600) with 'Full Aspect' scaling
https://bugs.freedesktop.org/show_bug.cgi?id=29057Signed-off-by: Chris Wilson
Cc: Jesse Barnes
Tested-by: Xun Fang
Signed-off-by: Eric Anholt -
This patch fixes a build failure [1-4] in the atmel_serial code introduced by
patch the patch ARM: 6092/1: atmel_serial: support for RS485
communications (e8faff7330a3501eafc9bfe5f4f15af444be29f5)The build failure was caused by missing struct field and missing defines
for the avr32 board - the patch fixes this.[1] http://kisskb.ellerman.id.au/kisskb/buildresult/2575242/ - first failure in linux-next, may 11th
[2] http://kisskb.ellerman.id.au/kisskb/buildresult/2816418/ - still exists as of today
[3] http://kisskb.ellerman.id.au/kisskb/buildresult/2617511/ - first failure in Linus' tree - May 20th - did really no one notice this?!
[4] http://kisskb.ellerman.id.au/kisskb/buildresult/2813956/ - still exists in Linus' tree as of todaySigned-off-by: Peter Huewe
Signed-off-by: Greg Kroah-Hartman