- Apr 05, 2011
-
-
Jens Axboe authored
Just because we are not requeuing a request does not mean that some aren't pending. So always issue a blk_delay_queue() if either we are requeueing OR there's pending IO. This fixes a boot problem for some IDE boxes. Signed-off-by:
Jens Axboe <jaxboe@fusionio.com>
-
Mike Snitzer authored
The current block integrity (DIF/DIX) support in DM is verifying that all devices' integrity profiles match during DM device resume (which is past the point of no return). To some degree that is unavoidable (stacked DM devices force this late checking). But for most DM devices (which aren't stacking on other DM devices) the ideal time to verify all integrity profiles match is during table load. Introduce the notion of an "initialized" integrity profile: a profile that was blk_integrity_register()'d with a non-NULL 'blk_integrity' template. Add blk_integrity_is_initialized() to allow checking if a profile was initialized. Update DM integrity support to: - check all devices with _initialized_ integrity profiles match during table load; uninitialized profiles (e.g. for underlying DM device(s) of a stacked DM device) are ignored. - disallow a table load that would result in an integrity profile that conflicts with a DM device's existing (in-use) integrity profile - avoid clearing an existing integrity profile - validate all integrity profiles match during resume; but if they don't all we can do is report the mismatch (during resume we're past the point of no return) Signed-off-by:
Mike Snitzer <snitzer@redhat.com> Cc: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by:
Jens Axboe <jaxboe@fusionio.com>
-
Jens Axboe authored
We see stalls if we don't always ensure that the queue gets run again. Even if rq == NULL, we could have other pending requests in the queue. Signed-off-by:
Jens Axboe <jaxboe@fusionio.com>
-
Chris Wilson authored
This is a revert of 428d2e82. This is broken in the same manner as for VGA: trying to write to an invalid address on the (currently 7-bit) i2c bus. One notable failure appears to be for MacBooks. The scary part was that it gave the appearance of working (i.e. reporting the absence of the panel) on various all-in-one machines with ghost LVDS panels and not failing for laptops. Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Dave Airlie <airlied@linux.ie> Signed-off-by:
Keith Packard <keithp@keithp.com>
-
Chris Wilson authored
This is a moral revert of 6ec3d0c0. Following the fix to reset the GMBUS controller after a NAK, we finally utilize the 0xa0 probe for a CRT connection. And discover that the code is broken. Shock. There are a number of issues, but following a key insight from Dave Airlie, that 0xA0 is an invalid address on a 7-bit bus (though not if we were to enable 10-bit addressing), and would look like the EDID port 0x50, it is possible to see where the confusion starts. In short, a write to 0xA0 is accepted by the GMBUS controller which we interpreted as meaning the existence of a connection (a slave on the other end of the wire ACKing the write). That was false. During testing with a broken GMBUS implementation, which never reset an earlier NAK, this test always reported a NAK and so we proceeded on to the next test. Reported-and-tested-by:
Sitsofe Wheeler <sitsofe@yahoo.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35904 Reported-and-tested-by:
Riccardo Magliocchetti <riccardo.magliocchetti@gmail.com> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=32612 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Acked-by:
Dave Airlie <airlied@linux.ie> Signed-off-by:
Keith Packard <keithp@keithp.com>
-
Jan Engelhardt authored
Signed-off-by:
Jan Engelhardt <jengelh@medozas.de> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- Apr 04, 2011
-
-
Linus Torvalds authored
Commit f23eb2b2 ('tty: stop using "delayed_work" in the tty layer') ended up causing hung machines on UP with no preemption, because the work routine to flip the buffer data to the ldisc would endlessly re-arm itself if the destination buffer had filled up. With the delayed work, that only caused a timer-driving polling of the tty state every timer tick, but without the delay we just ended up with basically a busy loop instead. Stop the insane polling, and instead make the code that opens up the receive room re-schedule the buffer flip work. That's what we should have been doing anyway. This same "poll for tty room" issue is almost certainly also the cause of excessive kworker activity when idle reported by Dave Jones, who also reported "flush_to_ldisc executing 2500 times a second" back in Nov 2010: http://lkml.org/lkml/2010/11/30/592 which is that silly flushing done every timer tick. Wasting both power and CPU for no good reason. Reported-and-tested-by:
Alexander Beregalov <a.beregalov@gmail.com> Reported-and-tested-by:
Sitsofe Wheeler <sitsofe@yahoo.com> Cc: Greg KH <gregkh@suse.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Dave Jones <davej@redhat.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Randy Dunlap authored
Fix build warnings caused by removal of *filp arg in struct usb_serial_driver. These changes were missed somehow in commits 00a0d0d6 ("tty: remove filp from the USB tty ioctls") and 60b33c13 ("tiocmget: kill off the passing of the struct file") drivers/usb/serial/mct_u232.c:159: warning: initialization from incompatible pointer type drivers/usb/serial/opticon.c:627: warning: initialization from incompatible pointer type Signed-off-by:
Randy Dunlap <randy.dunlap@oracle.com> Cc: Alan Cox <alan@linux.intel.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Major Lee authored
Fix the following section mismatch warning. WARNING: drivers/rtc/built-in.o(.data+0xa0): Section mismatch in reference from the variable vrtc_mrst_platform_driver to the function .init.text:vrtc_mrst_platform_probe() The variable vrtc_mrst_platform_driver references the function __init vrtc_mrst_platform_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console, Signed-off-by:
Major Lee <major_lee@wistron.com> Signed-off-by:
Alan Cox <alan@linux.intel.com> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
Kumar Gala authored
Only the e500v1/v2 cores have HID1[RXFE] so we should attempt to set or clear this register bit on them. Otherwise we get crashes like: NIP: c0579f84 LR: c006d550 CTR: c0579f84 REGS: ef857ec0 TRAP: 0700 Not tainted (2.6.38.2-00072-gf15ba3c) MSR: 00021002 <ME,CE> CR: 22044022 XER: 00000000 TASK = ef8559c0[1] 'swapper' THREAD: ef856000 CPU: 0 GPR00: c006d538 ef857f70 ef8559c0 00000000 00000004 00000000 00000000 00000000 GPR08: c0590000 c30170a8 00000000 c30170a8 00000001 0fffe000 00000000 00000000 GPR16: 00000000 7ffa0e60 00000000 00000000 7ffb0bd8 7ff3b844 c05be000 00000000 GPR24: 00000000 00000000 c05c28b0 c0579fac 00000000 00029002 00000000 c0579f84 NIP [c0579f84] mpc85xx_mc_clear_rfxe+0x0/0x28 LR [c006d550] on_each_cpu+0x34/0x50 Call Trace: [ef857f70] [c006d538] on_each_cpu+0x1c/0x50 (unreliable) [ef857f90] [c057a070] mpc85xx_mc_init+0xc4/0xdc [ef857fa0] [c0001cd4] do_one_initcall+0x34/0x1a8 [ef857fd0] [c055d9d8] kernel_init+0x17c/0x218 [ef857ff0] [c000cda4] kernel_thread+0x4c/0x68 Instruction dump: 40be0018 3c60c052 3863c70c 4be9baad 3be0ffed 4bd7c99d 80010014 7fe3fb78 83e1000c 38210010 7c0803a6 4e800020 <7c11faa6> 54290024 81290008 3d60c06e Oops: Exception in kernel mode, sig: 4 [#2] ---[ end trace 49ff3b8f93efde1a ]--- Also use the HID1_RFXE define rather than a magic number. Signed-off-by:
Kumar Gala <galak@kernel.crashing.org>
-
Mariusz Kozlowski authored
On error path kfree() should get pointer to memory allocated by kmalloc() not the address of variable holding it (which is on stack). Signed-off-by:
Mariusz Kozlowski <mk@lab.zgora.pl> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Alex Deucher authored
Avoid touching the flip setup regs while acceleration is running. Set them at modeset rather than during pageflip. Touching these regs while acceleration is active caused hangs on pre-avivo chips. These chips do not seem to be affected, but better safe than sorry, plus it avoids repeatedly reprogramming the regs every flip. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
Alex Deucher authored
Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- Apr 03, 2011
-
-
Axel Lin authored
In rpckbd_open prror path, free_irq() was using NULL rather than the driver data as the data pointer so free_irq() wouldn't have matched. Signed-off-by:
Axel Lin <axel.lin@gmail.com> Signed-off-by:
Dmitry Torokhov <dtor@mail.ru>
-
- Apr 02, 2011
-
-
Guan Xuetao authored
1. get videomemory by __get_free_pages() in fb-puv3.c 2. remove resource reservation for old fixed UNIGFX_MMAP & UVC_MMAP space 3. remove unused macros: PKUNTIY_UNIGFX_MMAP_BASE, PKUNITY_UNIGFX_MMAP_SIZE, PKUNITY_UVC_MMAP_BASE, PKUNITY_UVC_MMAP_SIZE and KUSER_UNIGFX_BASE 4. remove unused header linux/vmalloc.h in fb-puv3.h Signed-off-by:
Guan Xuetao <gxt@mprc.pku.edu.cn> Acked-by:
Arnd Bergmann <arnd@arndb.de>
-
Arnd Bergmann authored
The documentation for the USB ethernet devices suggests that only some devices are supposed to use usb0 as the network interface name instead of eth0. The logic used there, and documented in Kconfig for CDC is that eth0 will be used when the mac address is a globally assigned one, but usb0 is used for the locally managed range that is typically used on point-to-point links. Unfortunately, this has caused a lot of pain on the smsc95xx device that is used on the popular pandaboard without an EEPROM to store the MAC address, which causes the driver to call random_ether_address(). Obviously, there should be a proper MAC addressed assigned to the device, and discussions are ongoing about how to solve this, but this patch at least makes sure that the default interface naming gets a little saner and matches what the user can expect based on the documentation, including for new devices. The approach taken here is to flag whether a device might be a point-to-point link with the new FLAG_POINTTOPOINT setting in the usbnet driver_info. A driver can set both FLAG_POINTTOPOINT and FLAG_ETHER if it is not sure (e.g. cdc_ether), or just one of the two. The usbnet framework only looks at the MAC address for device naming if both flags are set, otherwise it trusts the flag. Signed-off-by:
Arnd Bergmann <arnd.bergmann@linaro.org> Tested-by:
Andy Green <andy.green@linaro.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
FUJITA Tomonori authored
Now we have CONFIG_ARCH_DMA_ADDR_T_64BIT. We can fix the hacky dma_addr_t size test cleanly. Signed-off-by:
FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 01, 2011
-
-
Manoj Iyer authored
Signed-off-by:
Manoj Iyer <manoj.iyer@canonical.com> Acked-by:
Ping Cheng <pingc@wacom.com> Signed-off-by:
Dmitry Torokhov <dtor@mail.ru>
-
Benjamin Herrenschmidt authored
This collides with the cpu_state in our SMP code, use processor_state instead. Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org>
-
Ben Skeggs authored
Nouveau needs access to this structure to build an ELD block for use by the HDA audio codec. Signed-off-by:
Ben Skeggs <bskeggs@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
John Lindgren authored
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=35502 agd5f: also add sanity check to connector records. v2: fix one more case. Signed-off-by:
Alex Deucher <alexdeucher@gmail.com> Cc: stable@kernel.org Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- Mar 31, 2011
-
-
Manjunatha Halli authored
As underlying ST driver registration API's have changed with latest 2.6.38-rc8 kernel this patch will update the FM driver accordingly. Signed-off-by:
Manjunatha Halli <manjunatha_halli@ti.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@redhat.com>
-
Randy Dunlap authored
altera-jtag.c needs to include <linux/delay.h> to fix a build error: drivers/staging/altera-stapl/altera-jtag.c:398: error: implicit declaration of function 'udelay' Signed-off-by:
Randy Dunlap <randy.dunlap@oracle.com> Cc: Igor M. Liplianin <liplianin@netup.ru> Signed-off-by:
Mauro Carvalho Chehab <mchehab@redhat.com>
-
Yevgeny Petrilin authored
We should reduce the number of reserved completion queues from the total number of entries. Since the queue size is power of two, not reducing the reserved entries, caused a double queue size, which may lead to allocation failures in some cases. Signed-off-by:
Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Yevgeny Petrilin authored
In case of allocation failure, tried to use the promiscuous QP entry that was previously freed. Now freeing this entry only in case we will not put it back to the list of promiscuous entries. Reported-by:
Dan Carpenter <error27@gmail.com> Signed-off-by:
Yevgeny Petrilin <yevgenyp@mellanox.co.il> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Peter Pan(潘卫平) authored
use accumulates instead of acumulates. Signed-off-by:
Pan Weiping <panweiping3@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Chris Wilson authored
Once a NAK has been asserted by the slave, we need to reset the GMBUS controller in order to continue. This is done by asserting the Software Clear Interrupt bit and then clearing it again to restore operations. If we don't clear the NAK, then all future GMBUS xfers will fail, including DDC probes and EDID retrieval. v2: Add some comments as suggested by Keith Packard. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=35781 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Keith Packard <keithp@keithp.com> Tested-by:
Jesse Barnes <jbarnes@virtuousgeek.org> Tested-by:
"Mengmeng Meng" <mengmeng.meng@intel.com>
-
Chris Wilson authored
During modesetting, we need to wait for the hardware to report readiness by polling the registers. Normally, we call msleep() between reads, because some state changes may take a whole vblank or more to complete. However during a panic, we are in an atomic context and cannot sleep. Instead, busy spin polling the termination condition. References: https://bugzilla.kernel.org/show_bug.cgi?id=31772 Signed-off-by:
Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Jesse Barnes <jbarnes@virtuousgeek.org>
-
Paul Bolle authored
On a "really fragile" laptop I noticed a single i8042.c: i8042 controller selftest failed. (0x1 != 0x55) error in the log. But there's no reason to print this message at KERN_ERR level each time that loop fails, especially since the message telling about the overall selftest failure is printed at KERN_INFO level (on X86). Add an actual error message for non-X86 systems, where a selftest failure is (apparently) more serious. Remove a space in an another error message. Signed-off-by:
Paul Bolle <pebolle@tiscali.nl> Signed-off-by:
Dmitry Torokhov <dtor@mail.ru>
-
Jan Beulich authored
'struct dmi_system_id' arrays must always have a terminator to keep dmi_check_system() from looking at data (and possibly crashing) it isn't supposed to look at. The issue went unnoticed until ef8313bb, but was introduced about a year earlier with 7705d548 (which also similarly changed lifebook.c, but the problem there got eliminated shortly afterwards). The first hunk therefore is a stable candidate back to 2.6.33, while the full change is needed only on 2.6.38. Signed-off-by:
Jan Beulich <jbeulich@novell.com> Cc: stable@kernel.org Signed-off-by:
Dmitry Torokhov <dtor@mail.ru>
-
Rajeev Kumar authored
We should return IRQ_NONE from interrupt handler in case keyboard does not report DATA_AVAIL condition. Signed-off-by:
Rajeev Kumar <rajeev-dlh.kumar@st.com> Signed-off-by:
Dmitry Torokhov <dtor@mail.ru>
-
Peter Hutterer authored
Some devices provide absolute axes with min/max of 0/0 (e.g. wacom's ABS_MISC axis). Current uinput restrictions do not allow duplication of these devices and require hacks in userspace to work around this. If the kernel accepts physical devices with a min/max of 0/0, uinput shouldn't disallow the same range. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by:
Dmitry Torokhov <dtor@mail.ru>
-
David S. Miller authored
It absolutely needs to be able to get at pdev_archdata members which are sparc specific. Signed-off-by:
David S. Miller <davem@davemloft.net> Reported-by:
Stephen Rothwell <sfr@canb.auug.org.au>
-
Patrick McHardy authored
Commits 01a16b21 (netlink: kill eff_cap from struct netlink_skb_parms) and c53fa1ed (netlink: kill loginuid/sessionid/sid members from struct netlink_skb_parms) removed some members from struct netlink_skb_parms that depend on the current context, all netlink users are now required to do synchronous message processing. connector however queues received messages and processes them in a work queue, which is not valid anymore. This patch converts connector to do synchronous message processing by invoking the registered callback handler directly from the netlink receive function. In order to avoid invoking the callback with connector locks held, a reference count is added to struct cn_callback_entry, the reference is taken when finding a matching callback entry on the device's queue_list and released after the callback handler has been invoked. Signed-off-by:
Patrick McHardy <kaber@trash.net> Acked-by:
Evgeniy Polyakov <zbr@ioremap.net> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Mar 30, 2011
-
-
Philip A. Prindeville authored
Don't flap VCs when carrier state changes; higher-level protocols can detect loss of connectivity and act accordingly. This is more consistent with how other network interfaces work. We no longer use release_vccs() so we can delete it. release_vccs() was duplicated from net/atm/common.c; make the corresponding function exported, since other code duplicates it and could leverage it if it were public. Signed-off-by:
Philip A. Prindeville <philipp@redfish-solutions.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philip A. Prindeville authored
Omit pkt_hdr preamble when dumping transmitted packet as hex-dump; we can pull this up because the frame has already been sent, and dumping it is the last thing we do with it before freeing it. Also include the size, vpi, and vci in the debug as is done on receive. Use "port" consistently instead of "device" intermittently. Signed-off-by:
Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Philip A. Prindeville authored
Use VPI.VCI notation consistently throughout the module. This is the one remaining place where the VCI is used before the VPI in any output. Signed-off-by:
Philip Prindeville <philipp@redfish-solutions.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Hellstrom authored
The UARTs may be located on different APB buses, thus have different UART clock frequency. The system frequency is not the same (but often) as the UART frequency, rather the APB bus frequency that the APBUART is located at has the same frequency, so this looks at the "freq" property instead. Signed-off-by:
Daniel Hellstrom <daniel@gaisler.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Daniel Hellstrom authored
See Commit id 1636f8ac (sparc/of: Move of_device fields into struct pdev_archdata), this patch is similar to 19e4875f (of/sparc: fix build regression from of_device changes) Signed-off-by:
Daniel Hellstrom <daniel@gaisler.com> Acked-by:
Sam Ravnborg <sam@ravnborg.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Jesper Juhl authored
We leak in some error paths of drivers/net/atlx/atl2.c:atl2_set_eeprom(). The memory allocated to 'eeprom_buff' is not freed when we return -EIO. This patch fixes that up and also removes a pointless explicit cast. Signed-off-by:
Jesper Juhl <jj@chaosbits.net> Signed-off-by:
David S. Miller <davem@davemloft.net>
-