20 Sep, 2007

8 commits

  • Nested class devices used to have 'device' symlink point to a real
    (physical) device instead of a parent class device. When converting
    subsystems to struct device we need to keep doing what class devices did if
    CONFIG_SYSFS_DEPRECATED is Y, otherwise parts of udev break.

    Signed-off-by: Dmitry Torokhov
    Cc: Kay Sievers
    Acked-by: Greg KH
    Tested-by: Anssi Hannula
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dmitry Torokhov
     
  • The mask on i830 should be 0x70 always, later chips 0xF0 should be okay.

    Signed-off-by: Dave Airlie
    Acked-by: Zhenyu Wang
    Cc: Michael Haas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Airlie
     
  • Reported in Kernel Bugzilla 9006

    Fix an obvious bug in DPLL disable.

    Signed-off-by: Antonino Daplas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Antonino A. Daplas
     
  • Fix a couple drivers that do not correctly terminate their pci_device_id
    lists. This results in garbage being spewed into modules.pcimap when the
    module happens to not have 28 NULL bytes following the table, and/or the
    last PCI ID is actually truncated from the table when calculating the
    modules.alias PCI aliases, cause those unfortunate device IDs to not
    auto-load.

    Signed-off-by: Kees Cook
    Acked-by: Corey Minyard
    Cc: David Woodhouse
    Acked-by: Jeff Garzik
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • The shrinking of a virtual memory area that is mmap(2)'d to a memory
    special file (device drivers/char/mspec.c) can cause a panic.

    If the mapped size of the vma (vm_area_struct) is very large, mspec allocates
    a large vma_data structure with vmalloc(). But such a vma can be shrunk by
    an munmap(2). The current driver uses the current size of each vma to
    deduce whether its vma_data structure was allocated by kmalloc() or vmalloc().
    So if the vma was shrunk it appears to have been allocated by kmalloc(),
    and mspec attempts to free it with kfree(). This results in a panic.

    This patch avoids the panic (by preserving the type of the allocation) and
    also makes mspec work correctly as the vma is split into pieces by the
    munmap(2)'s.

    All vma's derived from such a split vma share the same vma_data structure that
    represents all the pages mapped into this set of vma's. The mpec driver
    must be made capable of using the right portion of the structure for each
    member vma. In other words, it must index into the array of page addresses
    using the portion of the array that represents the current vma. This is
    enabled by storing the vma group's vm_start in the vma_data structure.

    The shared vma_data's are not protected by mm->mmap_sem in the fork() case
    so the reference count is left as atomic_t.

    Signed-off-by: Cliff Wickman
    Acked-by: Jes Sorensen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cliff Wickman
     
  • Currently the rtc driver, rtc-ds1552.c uses an unsigned long to store the
    base mmio address of the NVRAM/RTC. This breaks on 32-bit systems with
    larger physical addresses.

    Signed-off-by: Atsushi Nemoto
    Cc: David Brownell
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Atsushi Nemoto
     
  • Currently the rtc driver, rtc-ds1742.c uses an unsigned long to store the
    base mmio address of the NVRAM/RTC. This breaks on systems like PowerPC
    440, which is a 32-bit core with 36-bit physical addresses: IO on the
    system, including the RTC, is typically above the 4GB point, and cannot fit
    into an unsigned long.

    This patch fixes the problem by replacing the unsigned long with a
    resource_size_t. Tested on Ebony (PPC440) (with additional patches to
    instantiate the ds1742 platform device appropriately).

    Signed-off-by: David Gibson
    Acked-by: Atsushi Nemoto
    Cc: Alessandro Zummo
    Cc: David Brownell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Gibson
     
  • sparc32:

    drivers/block/DAC960.c: In function 'DAC960_V1_EnableMemoryMailboxInterface':
    drivers/block/DAC960.c:1168: error: 'DMA_32BIT_MASK' undeclared (first use in this function)
    drivers/block/DAC960.c:1168: error: (Each undeclared identifier is reported only

    Cc:
    Cc:
    Cc: Alessandro Polverini
    Cc: Jeff Garzik
    Cc: Matthew Wilcox
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

17 Sep, 2007

12 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    ACPI: thinkpad-acpi: bump up version to 0.16
    ACPI: thinkpad-acpi: revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED option
    ACPI: fix CONFIG_NET=n acpi_bus_generate_netlink_event build failure
    msi-laptop: replace ',' with ';'
    ACPI: (more) delete CONFIG_ACPI_PROCFS_SLEEP (again)

    Linus Torvalds
     
  • Len Brown
     
  • Name it thinkpad-acpi version 0.16 to avoid any confusion with some 0.15
    thinkpad-acpi development snapshots and backports that had input layer
    support, but no hotkey_report_mode support.

    Signed-off-by: Henrique de Moraes Holschuh
    Signed-off-by: Len Brown

    Henrique de Moraes Holschuh
     
  • Revert new 2.6.23 CONFIG_THINKPAD_ACPI_INPUT_ENABLED Kconfig option because
    it would create a legacy we don't want to support.

    CONFIG_THINKPAD_ACPI_INPUT_ENABLED was added to try to fix an issue that is
    now moot with the addition of the netlink ACPI event report interface to
    the ACPI core.

    Now that ACPI core can send events over netlink, we can use a different
    strategy to keep backwards compatibility with older userspace, without the
    need for the CONFIG_THINKPAD_ACPI_INPUT_ENABLED games. And it arrived
    before CONFIG_THINKPAD_ACPI_INPUT_ENABLED made it to a stable mainline
    kernel, even, which is Good.

    This patch is in sync with some changes to thinkpad-acpi backports, that
    will keep things sane for userspace across different combinations of kernel
    versions, thinkpad-acpi backports (or the lack thereof), and userspace
    capabilities:

    Unless a module parameter is used, thinkpad-acpi will now behave in such a
    way that it will work well (by default) with userspace that still uses only
    the old ACPI procfs event interface and doesn't care for thinkpad-acpi
    input devices.

    It will also always work well with userspace that has been updated to use
    both the thinkpad-acpi input devices, and ACPI core netlink event
    interface, regardless of any module parameter.

    The module parameter was added to allow thinkpad-acpi to work with
    userspace that has been partially updated to use thinkpad-acpi input
    devices, but not the new ACPI core netlink event interface. To use this
    mode of hot key reporting, one has to specify the hotkey_report_mode=2
    module parameter.

    The thinkpad-acpi driver exports the value of hotkey_report_mode through
    sysfs, as well. thinkpad-acpi backports to older kernels, that do not
    support the new ACPI core netlink interface, have code to allow userspace
    to switch hotkey_report_mode at runtime through sysfs. This capability
    will not be provided in mainline thinkpad-acpi as it is not needed there.

    Signed-off-by: Henrique de Moraes Holschuh
    Cc: Michael S. Tsirkin
    Cc: Hugh Dickins
    Cc: Richard Hughes
    Signed-off-by: Len Brown

    Henrique de Moraes Holschuh
     
  • Len Brown
     
  • * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [VLAN]: Fix net_device leak.
    [PPP] generic: Fix receive path data clobbering & non-linear handling
    [PPP] generic: Call skb_cow_head before scribbling over skb
    [NET] skbuff: Add skb_cow_head
    [BRIDGE]: Kill clone argument to br_flood_*
    [PPP] pppoe: Fill in header directly in __pppoe_xmit
    [PPP] pppoe: Fix data clobbering in __pppoe_xmit and return value
    [PPP] pppoe: Fix skb_unshare_check call position
    [SCTP]: Convert bind_addr_list locking to RCU
    [SCTP]: Add RCU synchronization around sctp_localaddr_list
    [PKT_SCHED]: sch_cbq.c: Shut up uninitialized variable warning
    [PKTGEN]: srcmac fix
    [IPV6]: Fix source address selection.
    [IPV4]: Just increment OutDatagrams once per a datagram.
    [IPV6]: Just increment OutDatagrams once per a datagram.
    [IPV6]: Fix unbalanced socket reference with MSG_CONFIRM.
    [NET_SCHED] protect action config/dump from irqs
    [NET]: Fix two issues wrt. SO_BINDTODEVICE.

    Linus Torvalds
     
  • This patch adds missing pskb_may_pull calls to deal with non-linear
    packets that may arrive from pppoe or pppol2tp.

    It also copies cloned packets before writing over them.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • It's rude to write over data that other people are still using. So call
    skb_cow_head before PPP proceeds to modify the skb data.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch adds an optimised version of skb_cow that avoids the copy if
    the header can be modified even if the rest of the payload is cloned.

    This can be used in encapsulating paths where we only need to modify the
    header. As it is, this can be used in PPPOE and bridging.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch removes the hdr variable (which is copied into the skb)
    and instead sets the header directly in the skb.

    It also uses __skb_push instead of skb_push since we've just checked
    using skb_cow for enough head room.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The function __pppoe_xmit modifies the skb data and therefore it needs
    to copy and skb data if it's cloned.

    In fact, it currently allocates a new skb so that it can return 0 in
    case of error without freeing the original skb. This is totally wrong
    because returning zero is meant to indicate congestion whereupon pppoe
    is supposed to wake up the upper layer once the congestion subsides.

    This makes sense for ppp_async and ppp_sync but is out-of-place for
    pppoe. This patch makes it always return 1 and free the skb.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • The skb_unshare_check call needs to be made before pskb_may_pull,
    not after.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

16 Sep, 2007

7 commits


15 Sep, 2007

10 commits

  • Add Guards around TIOCSLCKTRMIOS and TIOCGLCKTRMIOS.

    Several architectures are still broken. Put temporary-for-2.6.23 ifdef guards
    around the offending code.

    Signed-off-by: Tony Breeds
    Cc: Alan Cox
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Heiko Carstens
    Cc: "David S. Miller"
    Signed-off-by: Andrew Morton
    Signed-off-by:: Linus Torvalds

    Tony Breeds
     
  • A guest context switch to an uncached cr3 can require allocation of
    shadow pages, but we only recycle shadow pages in kvm_mmu_page_fault().

    Move shadow page recycling to mmu_topup_memory_caches(), which is called
    from both the page fault handler and from guest cr3 reload.

    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     
  • * 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
    V4L/DVB (6220a): fix build error for et61x251 driver
    V4L/DVB (6188): Avoid a NULL pointer dereference during mpeg_open()
    V4L/DVB (6173a): Documentation: Remove reference to dead "cpia_pp=" boot-time option
    V4L/DVB (6148): Fix a warning at saa7191_probe
    V4L/DVB (6147): Pwc: Fix a broken debug message
    V4L/DVB (6144): Fix mux setup for composite sound on AverTV 307
    V4L/DVB (6095): ivtv: fix VIDIOC_G_ENC_INDEX flag handling

    Linus Torvalds
     
  • Commit 02a5e0acb3cb85d80d0fe834e366d38a92bbaa22 ("BLOCK: Hide the
    contents of linux/bio.h if CONFIG_BLOCK=n") broke the kernel build for
    the CONFIG_COMPAT && !CONFIG_BLOCK case:

    CC fs/compat_ioctl.o
    In file included from include/linux/raid/md_k.h:19,
    from include/linux/raid/md.h:54,
    from fs/compat_ioctl.c:25:
    include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:
    include/linux/raid/../../../drivers/md/dm-bio-list.h:40: error: dereferencing pointer to incomplete type
    include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:
    include/linux/raid/../../../drivers/md/dm-bio-list.h:48: error: dereferencing pointer to incomplete type
    include/linux/raid/../../../drivers/md/dm-bio-list.h:51: error: dereferencing pointer to incomplete type
    include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:
    include/linux/raid/../../../drivers/md/dm-bio-list.h:64: error: dereferencing pointer to incomplete type
    include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_merge_:
    include/linux/raid/../../../drivers/md/dm-bio-list.h:78: error: dereferencing pointer to incomplete type
    include/linux/raid/../../../drivers/md/dm-bio-list.h: In bio_list_:
    include/linux/raid/../../../drivers/md/dm-bio-list.h:90: error: dereferencing pointer to incomplete type
    include/linux/raid/../../../drivers/md/dm-bio-list.h:94: error: dereferencing pointer to incomplete type
    make[1]: *** [fs/compat_ioctl.o] Error 1
    make: *** [fs] Error 2

    Signed-off-by: Andreas Herrmann
    Acked-By: David Howells
    Signed-off-by: Linus Torvalds

    aherrman@arcor.de
     
  • A crash upon booting that is caused by bcm43xx has been reported [1] and
    found to be due to a work queue being reinitialized while work on that
    queue is still pending. This fix modifies the shutdown of work queues and
    prevents periodic work from being requeued during shutdown. With this patch,
    no more crashes on reboot were observed by the original reporter. I do not
    get that particular failure on my system; however, when running a large
    number of ifdown/ifup sequences, my system would kernel panic with the
    'caps lock' light blinking at roughly a 1 Hz rate. In addition, there were
    infrequent failures in the firmware that resulted in 'IRQ READY TIMEOUT'
    errors. With this patch, no more of the first type of failure occur, and
    incidence of the second type is greatly reduced.

    [1] http://bugzilla.kernel.org/show_bug.cgi?id=8937

    Signed-off-by: Larry Finger
    Acked-by: Michael Buesch
    Signed-off-by: John W. Linville

    Larry Finger
     
  • Bug: With a hardware encoder board installed as cx88[1] and a
    non-encoder boards installed as cx88[0], an OOPS is generated
    during cx8802_get_device() called from mpeg_open().

    Signed-off-by: Steven Toth
    Signed-off-by: Mauro Carvalho Chehab

    Steven Toth
     
  • saa7191.c: In function 'saa7191_probe':
    saa7191.c:596: warning: passing argument 3 of
    'saa7191_write_block' discards qualifiers from pointer target type

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • Commit 85237f202d46d55c1bffe0c5b1aa3ddc0f1dce4d introduced the
    following warning (with CONFIG_USB_PWC_DEBUG=y):
    drivers/media/video/pwc/pwc-if.c: In function "pwc_video_close":
    drivers/media/video/pwc/pwc-if.c:1211: warning: "i" may be used uninitialized in this function

    This is true, and can cause a broken debug message to be logged.
    Here's a fix.

    Signed-off-by: Jean Delvare
    Signed-off-by: Mauro Carvalho Chehab

    Jean Delvare
     
  • Right now the composite sound input doesn't work on AverTV 307 because of
    the wrong mux setup. The composite sound is routed via an external
    4channel multiplexer controlled by GPIO, while the code assumes an internal
    multiplexer instead.

    Presumably this was a copy/paste error, and noone have ever tested the
    functionality.

    With the attached patch it works properly, which gives me an ability to
    finally watch the cable TV under linux.

    Signed-off-by: Stas Sergeev
    Signed-off-by: Andrew Morton
    Acked-by: Nickolay V. Shmyrev
    Signed-off-by: Mauro Carvalho Chehab

    Stas Sergeev
     
  • Due to a documentation bug (the type mask is 3 bits long, not 2) the wrong
    frame types were filled in: the B and P frame types were swapped.

    This bug also hid a second bug: when a capture is stopped a last entry is
    written into the pgm index buffer with internal type 0, denoting the end
    of the program. This entry wasn't ignored, instead it was accidentally
    returned to the caller as a P frame.

    Signed-off-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Hans Verkuil
     

13 Sep, 2007

3 commits