19 Mar, 2010
12 commits
-
* 'merge' of git://git.secretlab.ca/git/linux-2.6:
powerpc/5200: Build fix for mpc52xx watchdog timer code
of: Fix comparison of "compatible" properties
powerpc/52xx: update defconfigs
spi/omap2_mcspi: Use transaction speed if provided
spi/omap2_mcspi: fix NULL pointer dereference
uartlite: Fix build on sparc. -
* master.kernel.org:/home/rmk/linux-2.6-arm: (23 commits)
ARM: Fix RiscPC decompressor build errors
ARM: Fix sorting of platform group config options and includes
ARM: 5991/1: Fix regression in restore_user_regs macro
ARM: 5989/1: ARM: KGDB: add support for SMP platforms
ARM: 5990/1: ARM: use __armv5tej_mmu_cache_flush for V5TEJ instead of __armv4_mmu_cache_flush
ARM: Add final piece to fix XIP decompressor in read-only memory
video: enable sh_mobile_lcdc on SH-Mobile ARM
ARM: mach-shmobile: ap4evb SDHI0 platform data V2
ARM: mach-shmobile: sh7372 SDHI vector merge
ARM: mach-shmobile: sh7377 SDHI vector merge
ARM: mach-shmobile: sh7367 SDHI vector merge
ARM: mach-shmobile: G4EVM KEYSC platform data
mtd: enable sh_flctl on SH-Mobile ARM
ARM: mach-shmobile: G3EVM FLCTL platform data
ARM: mach-shmobile: G3EVM KEYSC platform data
Video: ARM CLCD: Better fix for swapped IENB and CNTL registers
ARM: Add L2 cache handling to smp boot support
ARM: 5960/1: ARM: perf-events: fix v7 event selection mask
ARM: 5959/1: ARM: perf-events: request PMU interrupts with IRQF_NOBALANCING
ARM: 5988/1: pgprot_dmacoherent() for non-mmu builds
... -
* 'for-linus' of git://git.monstr.eu/linux-2.6-microblaze: (27 commits)
microblaze: entry.S use delay slot for return handlers
microblaze: Save current task directly
microblaze: Simplify entry.S - save/restore r3/r4 - ret_from_trap
microblaze: PCI early support for noMMU system
microblaze: Fix dma alloc and free coherent dma functions
microblaze: Add consistent code
microblaze: pgtable.h: move consistent functions
microblaze: Remove ancient Kconfig option for consistent mapping
microblaze: Remove VMALLOC_VMADDR
microblaze: Add define for ASM_LOOP
microblaze: Preliminary support for dma drivers
microblaze: remove trailing space in messages
microblaze: Use generic show_mem()
microblaze: Change temp register for cmdline
microblaze: Preliminary support for dma drivers
microblaze: Move cache function to cache.c
microblaze: Add support from PREEMPT
microblaze: Add support for Xilinx PCI host bridge
microblaze: Enable PCI, missing files
microblaze: Add core PCI files
... -
* 'for-linus' of git://neil.brown.name/md:
md: deal with merge_bvec_fn in component devices better. -
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (69 commits)
[SCSI] scsi_transport_fc: Fix synchronization issue while deleting vport
[SCSI] bfa: Update the driver version to 2.1.2.1.
[SCSI] bfa: Remove unused header files and did some cleanup.
[SCSI] bfa: Handle SCSI IO underrun case.
[SCSI] bfa: FCS and include file changes.
[SCSI] bfa: Modified the portstats get/clear logic
[SCSI] bfa: Replace bfa_get_attr() with specific APIs
[SCSI] bfa: New portlog entries for events (FIP/FLOGI/FDISC/LOGO).
[SCSI] bfa: Rename pport to fcport in BFA FCS.
[SCSI] bfa: IOC fixes, check for IOC down condition.
[SCSI] bfa: In MSIX mode, ignore spurious RME interrupts when FCoE ports are in FW mismatch state.
[SCSI] bfa: Fix Command Queue (CPE) full condition check and ack CPE interrupt.
[SCSI] bfa: IOC recovery fix in fcmode.
[SCSI] bfa: AEN and byte alignment fixes.
[SCSI] bfa: Introduce a link notification state machine.
[SCSI] bfa: Added firmware save clear feature for BFA driver.
[SCSI] bfa: FCS authentication related changes.
[SCSI] bfa: PCI VPD, FIP and include file changes.
[SCSI] bfa: Fix to copy fpma MAC when requested by user space application.
[SCSI] bfa: RPORT state machine: direct attach mode fix.
... -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
HID: avoid '\0' in hid debugfs events file
HID: Add RGT Clutch Wheel clutch device id
HID: ntrig: fix touch events
HID: add quirk for UC-Logik WP4030 tablet
HID: magicmouse: fix oops after device removal -
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
ahci: pp->active_link is not reliable when FBS is enabled
ahci: use BIOS date in broken_suspend list
ahci: add missing nv IDs -
* 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
backlight: panasonic-laptop - Fix incomplete registration failure handling
backlight: msi-laptop, msi-wmi: fix incomplete registration failure handling
backlight: blackfin - Fix missing registration failure handling
backlight: classmate-laptop - Fix missing registration failure handling
backlight: mbp_nvidia_bl - add five more MacBook variants
backlight: Allow properties to be passed at registration
backlight: Add backlight_device parameter to check_fb
video: backlight/progear, fix pci device refcounting
backlight: l4f00242t03: Fix module licence absence.
backlight: Revert some const qualifiers
backlight: Add Epson L4F00242T03 LCD driver -
* 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
leds: Fix race between LED device uevent and actual attributes creation
leds-gpio: fix default state handling on OF platforms
leds: Add Dell Business Class Netbook LED driver
leds: Kconfig cleanup
leds: led-class.c - Quiet boot messages
leds: make PCI device id constant
leds: ALIX2: Add dependency to !GPIO_CS5335 -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (39 commits)
gigaset: fix build failure
bridge: Make first arg to deliver_clone const.
bridge br_multicast: Don't refer to BR_INPUT_SKB_CB(skb)->mrouters_only without IGMP snooping.
route: Fix caught BUG_ON during rt_secret_rebuild_oneshot()
bridge br_multicast: Fix skb leakage in error path.
bridge br_multicast: Fix handling of Max Response Code in IGMPv3 message.
NET: netpoll, fix potential NULL ptr dereference
tipc: fix lockdep warning on address assignment
l2tp: Fix UDP socket reference count bugs in the pppol2tp driver
smsc95xx: wait for PHY to complete reset during init
l2tp: Fix oops in pppol2tp_xmit
smsc75xx: SMSC LAN75xx USB gigabit ethernet adapter driver
ne: Do not use slashes in irq name string
NET: ksz884x, fix lock imbalance
gigaset: correct range checking off by one error
bridge: Fix br_forward crash in promiscuous mode
bridge: Move NULL mdb check into br_mdb_ip_get
ISDN: Add PCI ID for HFC-2S/4S Beronet Card PCIe
net-2.6 [Bug-Fix][dccp]: fix oops caused after failed initialisation
myri: remove dead code
... -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sunxvr1000: Add missing FB=y depenency.
MAINTAINERS: Add entry for sparc serial drivers.
drivers/serial/sunsab.c: adjust the constant used to initialize the interrupt_mask0 fields -
* 'urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
PCMCIA: resource, fix lock imbalance
pcmcia: add important if statement
pcmcia: re-route Cardbus IRQ to ISA on ti1130 bridges if necessary
pcmcia: allow for cb_irq to differ from pci_dev's irq in yenta_socket
pcmcia: honor saved flags in yenta_socket's I365_CSCINT register
pcmcia: revert "irq probe can be done without risking an IRQ storm"
pcmcia: pd6729, i82092: use parent (PCI) resources
pcmcia/vrc4171: use local spinlock for device local lock.
18 Mar, 2010
7 commits
-
Implement arch specific arch_get_memory_phys_device function and
initialize phys_device for each memory section. That way we finally can
tell which piece of memory belongs to which physical device.This makes s390's /sys/devices/system/memory/memoryX/phys_device display
the correct thing?Signed-off-by: Heiko Carstens
Cc: Dave Hansen
Cc: Gerald Schaefer
Cc: KAMEZAWA Hiroyuki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
/sys/devices/system/memory/memoryX/phys_device is supposed to contain the
number of the physical device that the corresponding piece of memory
belongs to.In case a physical device should be replaced or taken offline for whatever
reason it is necessary to set all corresponding memory pieces offline.
The current implementation always sets phys_device to '0' and there is no
way or hook to change that. Seems like there was a plan to implement that
but it wasn't finished for whatever reason.So add a weak function which architectures can override to actually set
the phys_device from within add_memory_block().Signed-off-by: Heiko Carstens
Cc: Dave Hansen
Cc: Gerald Schaefer
Cc: KAMEZAWA Hiroyuki
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Replace open-coded loop with for_each_set_bit().
Signed-off-by: Akinobu Mita
Cc: Clemens Ladisch
Cc: Bob Picco
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Update the dummy LL interface to the LL interface change
introduced by commit daab433c03c15fd642c71c94eb51bdd3f32602c8.
This fixes the build failure occurring after that commit when
enabling ISDN_DRV_GIGASET but neither ISDN_I4L nor ISDN_CAPI.Impact: bugfix
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
pp->active_link is not reliable when FBS is enabled.
Both PORT_SCR_ACT and PORT_CMD_ISSUE should be checked
because mixed NCQ and non-NCQ commands may be in flight.Signed-off-by: Shane Huang
Signed-off-by: Jeff Garzik -
HP is recycling both DMI_PRODUCT_NAME and DMI_BIOS_VERSION making
ahci_broken_suspend() trigger for later products which are not
affected by the original problems. Match BIOS date instead of version
and add references to bko's so that full information can be found
easier later.This fixes http://bugzilla.kernel.org/show_bug.cgi?id=15462
Signed-off-by: Tejun Heo
Reported-by: tigerfishdaisy@gmail.com
Signed-off-by: Jeff Garzik -
bko#15481 shows that we're missing some NVIDIA ahci PCI IDs. Peer
Chen confirms that IDs 0x580-0x58f are reserved for cases where Linux
ID option is selected in the BIOS and are only used for mcp65-73. Add
0x0581-0x058f.http://bugzilla.kernel.org/show_bug.cgi?id=15481
Signed-off-by: Tejun Heo
Cc: Peer Chen
Signed-off-by: Jeff Garzik
17 Mar, 2010
21 commits
-
Signed-off-by: David S. Miller
-
This patch fixes UDP socket refcnt bugs in the pppol2tp driver.
A bug can cause a kernel stack trace when a tunnel socket is closed.
A way to reproduce the issue is to prepare the UDP socket for L2TP (by
opening a tunnel pppol2tp socket) and then close it before any L2TP
sessions are added to it. The sequence isCreate UDP socket
Create tunnel pppol2tp socket to prepare UDP socket for L2TP
pppol2tp_connect: session_id=0, peer_session_id=0
L2TP SCCRP control frame received (tunnel_id==0)
pppol2tp_recv_core: sock_hold()
pppol2tp_recv_core: sock_put
L2TP ZLB control frame received (tunnel_id=nnn)
pppol2tp_recv_core: sock_hold()
pppol2tp_recv_core: sock_put
Close tunnel management socket
pppol2tp_release: session_id=0, peer_session_id=0
Close UDP socket
udp_lib_close: BUGThe addition of sock_hold() in pppol2tp_connect() solves the problem.
For data frames, two sock_put() calls were added to plug a refcnt leak
per received data frame. The ref that is grabbed at the top of
pppol2tp_recv_core() must always be released, but this wasn't done for
accepted data frames or data frames discarded because of bad UDP
checksums. This leak meant that any UDP socket that had passed L2TP
data traffic (i.e. L2TP data frames, not just L2TP control frames)
using pppol2tp would not be released by the kernel.WARNING: at include/net/sock.h:435 udp_lib_unhash+0x117/0x120()
Pid: 1086, comm: openl2tpd Not tainted 2.6.33-rc1 #8
Call Trace:
[] ? udp_lib_unhash+0x117/0x120
[] ? warn_slowpath_common+0x71/0xd0
[] ? udp_lib_unhash+0x117/0x120
[] ? warn_slowpath_null+0x13/0x20
[] ? udp_lib_unhash+0x117/0x120
[] ? sk_common_release+0x17/0x90
[] ? inet_release+0x33/0x60
[] ? sock_release+0x10/0x60
[] ? sock_close+0xf/0x30
[] ? __fput+0x52/0x150
[] ? filp_close+0x3e/0x70
[] ? put_files_struct+0x62/0xb0
[] ? do_exit+0x5e7/0x650
[] ? mntput_no_expire+0x13/0x70
[] ? filp_close+0x3e/0x70
[] ? do_group_exit+0x2a/0x70
[] ? sys_exit_group+0x11/0x20
[] ? sysenter_do_call+0x12/0x26Signed-off-by: James Chapman
Signed-off-by: David S. Miller -
This patch ensures the PHY correctly completes its reset before
setting register values.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
When transmitting L2TP frames, we derive the outgoing interface's UDP
checksum hardware assist capabilities from the tunnel dst dev. This
can sometimes be NULL, especially when routing protocols are used and
routing changes occur. This patch just checks for NULL dst or dev
pointers when checking for netdev hardware assist features.BUG: unable to handle kernel NULL pointer dereference at 0000000c
IP: [] pppol2tp_xmit+0x341/0x4da [pppol2tp]
*pde = 00000000
Oops: 0000 [#1] SMP
last sysfs file: /sys/class/net/lo/operstate
Modules linked in: pppol2tp pppox ppp_generic slhc ipv6 dummy loop snd_hda_codec_atihdmi snd_hda_intel snd_hda_codec snd_pcm snd_timer snd soundcore snd_page_alloc evdev psmouse serio_raw processor button i2c_piix4 i2c_core ati_agp agpgart pcspkr ext3 jbd mbcache sd_mod ide_pci_generic atiixp ide_core ahci ata_generic floppy ehci_hcd ohci_hcd libata e1000e scsi_mod usbcore nls_base thermal fan thermal_sys [last unloaded: scsi_wait_scan]Pid: 0, comm: swapper Not tainted (2.6.32.8 #1)
EIP: 0060:[] EFLAGS: 00010297 CPU: 3
EIP is at pppol2tp_xmit+0x341/0x4da [pppol2tp]
EAX: 00000000 EBX: f64d1680 ECX: 000005b9 EDX: 00000000
ESI: f6b91850 EDI: f64d16ac EBP: f6a0c4c0 ESP: f70a9cac
DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
Process swapper (pid: 0, ti=f70a8000 task=f70a31c0 task.ti=f70a8000)
Stack:
000005a9 000005b9 f734c400 f66652c0 f7352e00 f67dc800 00000000 f6b91800
000005a3 f70ef6c4 f67dcda9 000005a3 f89b192e 00000246 000005a3 f64d1680
f63633e0 f6363320 f64d1680 f65a7320 f65a7364 f65856c0 f64d1680 f679f02f
Call Trace:
[] ? ppp_push+0x459/0x50e [ppp_generic]
[] ? ppp_xmit_process+0x3b6/0x430 [ppp_generic]
[] ? ppp_start_xmit+0x10d/0x120 [ppp_generic]
[] ? dev_hard_start_xmit+0x21f/0x2b2
[] ? sch_direct_xmit+0x48/0x10e
[] ? dev_queue_xmit+0x263/0x3a6
[] ? ip_finish_output+0x1f7/0x221
[] ? ip_forward_finish+0x2e/0x30
[] ? ip_rcv_finish+0x295/0x2a9
[] ? netif_receive_skb+0x3e9/0x404
[] ? e1000_clean_rx_irq+0x253/0x2fc [e1000e]
[] ? e1000_clean+0x63/0x1fc [e1000e]
[] ? sched_clock_local+0x15/0x11b
[] ? net_rx_action+0x96/0x195
[] ? __do_softirq+0xaa/0x151
[] ? do_softirq+0x31/0x3c
[] ? irq_exit+0x26/0x58
[] ? do_IRQ+0x78/0x89
[] ? common_interrupt+0x29/0x30
[] ? native_safe_halt+0x2/0x3
[] ? default_idle+0x55/0x75
[] ? c1e_idle+0xd2/0xd5
[] ? cpu_idle+0x46/0x62
Code: 8d 45 08 f0 ff 45 08 89 6b 08 c7 43 68 7e fb 9c f8 8a 45 24 83 e0 0c 3c 04 75 09 80 63 64 f3 e9 b4 00 00 00 8b 43 18 8b 4c 24 04 40 0c 8d 79 11 f6 40 44 0e 8a 43 64 75 51 6a 00 8b 4c 24 08
EIP: [] pppol2tp_xmit+0x341/0x4da [pppol2tp] SS:ESP 0068:f70a9cac
CR2: 000000000000000cSigned-off-by: James Chapman
Signed-off-by: David S. Miller -
This patch adds a driver for SMSC's LAN7500 family of USB 2.0
to gigabit ethernet adapters. It's loosely based on the smsc95xx
driver but the device registers for LAN7500 are completely different.Signed-off-by: Steve Glendinning
Signed-off-by: David S. Miller -
This patch fixes following warning introduced by commit
12bac0d9f4dbf3445a0319beee848d15fa32775e ("proc: warn on non-existing
proc entries"):WARNING: at /work/mips-linux/make/linux/fs/proc/generic.c:316 __xlate_proc_name+0xe0/0xe8()
name 'RBHMA4X00/RTL8019'Signed-off-by: Atsushi Nemoto
Signed-off-by: David S. Miller -
Stanse found that one error path (when alloc_skb fails) in netdev_tx
omits to unlock hw_priv->hwlock. Fix that.Signed-off-by: Jiri Slaby
Cc: Tristram Ha
Cc: David S. Miller
Signed-off-by: David S. Miller -
Correct a potential array overrun due to an off by one error in the
range check on the CAPI CONNECT_REQ CIPValue parameter.
Found and reported by Dan Carpenter using smatch.Impact: bugfix
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
If we were to dynamically register/unregister leds and have udev or other
daemons handle the leds class uevents, we would be notified of the adding of a
new LED and if the daemon immediately tries to open one of the attributes of
the led device, it would fail with a "no such file or directory" error since
this the attributes are not yet created. Fix this by switching attributes to be
class-wide, such that the driver core will register these attributes with
device_add_attrs and then emit the kobject_uevent ADD signal.Signed-off-by: Fainelli
Signed-off-by: Richard Purdie -
Properly return backlight registration error to parent.
Mark struct backlight_ops as const.Signed-off-by: Bruno Prémont
Acked-by: Harald Welte (registration failure)
Signed-off-by: Richard Purdie -
Properly return backlight registration error to parent.
Mark struct backlight_ops as const.Signed-off-by: Bruno Prémont
Reviewed-by: Anisse Astier
Signed-off-by: Richard Purdie -
Check newly registered backlight_device for error and properly
return error to parent
Mark struct backlight_ops as const.Signed-off-by: Bruno Prémont
Acked-by: Mike Frysinger (constify struct backlight_ops)
Signed-off-by: Richard Purdie -
Check newly registered backlight_device for error and properly
return error to parent.
Mark struct backlight_ops as const.Signed-off-by: Bruno Prémont
Signed-off-by: Richard Purdie -
This adds the MacBook 1,1 2,1 3,1 4,1 and 4,2 to the DMI tables.
Signed-off-by: Evan McClain
Signed-off-by: Richard Purdie -
The driver wrongly sets default state for LEDs that don't specify
default-state property.Currently the driver handles default state this way:
memset(&led, 0, sizeof(led));
for_each_child_of_node(np, child) {
state = of_get_property(child, "default-state", NULL);
if (state) {
if (!strcmp(state, "keep"))
led.default_state = LEDS_GPIO_DEFSTATE_KEEP;
...
}
ret = create_gpio_led(&led, ...);
}Which means that all LEDs that do not specify default-state will inherit
the last value of the default-state property, which is wrong.This patch fixes the issue by moving LED's template initialization into
the loop body.Signed-off-by: Anton Vorontsov
Signed-off-by: Andrew Morton
Signed-off-by: Richard Purdie -
This patch adds an LED driver to support the Dell Activity LED on the
Dell Latitude 2100 netbook and future products to come. The Activity LED
is visible externally in the lid so classroom instructors can observe it
from a distance. The driver uses the sysfs led_class and provides a
standard LED interface.Signed-off by: Bob Rodgers
Signed-off-by: Louis Davis
Signed-off-by: Jim Dailey , Developers
Acked-by: Matthew Garrett
Acked-by: Dmitry Torokhov
Signed-off-by: Richard Purdie -
Remove the need for "depends on LEDS_CLASS" by wrapping the affected
config options in an if/endif block. Similar for "depends on LEDS_TRIGGERS".LEDS_COBALT_RAQ still has a "depends on LEDS_CLASS=y" since it cannot
be selected to build as a module.Signed-off-by: H Hartley Sweeten
Signed-off-by: Richard Purdie -
As each led device gets registered a kernel message gets printed. In
an embedded system with a number of leds this can produce a lot
of output that just looks like noise.Change the message type to KERN_DEBUG since it might be useful
in the dmesg output "after" booting.Signed-off-by: H Hartley Sweeten
Signed-off-by: Richard Purdie -
The id_table field of the struct pci_driver is constant in
so it is worth to make pci_device_id also constant.The semantic match that finds this kind of pattern is as follows:
(http://coccinelle.lip6.fr/)//
@r@
disable decl_init,const_decl_init;
identifier I1, I2, x;
@@
struct I1 {
...
const struct I2 *x;
...
};
@s@
identifier r.I1, y;
identifier r.x, E;
@@
struct I1 y = {
.x = E,
};
@c@
identifier r.I2;
identifier s.E;
@@
const struct I2 E[] = ... ;
@depends on !c@
identifier r.I2;
identifier s.E;
@@
+ const
struct I2 E[] = ...;
//Signed-off-by: Márton Németh
Signed-off-by: Richard Purdie -
The ALIX2 LED driver and the CS5535 GPIO drivers share the same I/O
range which causes a conflict if they're both enabled. Fix this for now
by adding Kconfig dependencies. While at it, also drop the EXPERIMENTAL
flag, as the code has been around for awhile already.Note that this is a hack. At some point, a real platform support for
this board should be added which handles the LEDs via the leds-gpio
driver.Signed-off-by: Daniel Mack
Signed-off-by: Richard Purdie -
Values such as max_brightness should be set before backlights are
registered, but the current API doesn't allow that. Add a parameter to
backlight_device_register and update drivers to ensure that they
set this correctly.Signed-off-by: Matthew Garrett
Signed-off-by: Richard Purdie