1. 14 Nov, 2009 1 commit
    • Dick Hollenbeck's avatar
      When controlling an industrial radio modem it can be necessary to · 4f36dc27
      Dick Hollenbeck authored
      manipulate the handshake lines in order to control the radio modem's
      transmitter, from userspace.
      
      The transmitter should not be turned off before all characters have been
      transmitted.  serial8250_tx_empty() was reporting that all characters were
      transmitted before they actually were.
      
      ===
      
      Discovered in parallel with more testing and analysis by Kees Schoenmakers
      as follows:
      
      I ran into an NetMos 9835 serial pci board which behaves a little
      different than the standard.  This type of expansion board is very common.
      
      "Standard" 8250 compatible devices clear the 'UART_LST_TEMT" bit together
      with the "UART_LSR_THRE" bit when writing data to the device.
      
      The NetMos device does it slightly different
      
      I believe that the TEMT bit is coupled to the shift register.  The problem
      is that after writing data to the device and very quickly after that one
      does call serial8250_tx_empty, it returns the wrong information.
      
      My patch makes the test more robust (and solves the problem) and it does
      not affect the already correct devices.
      
      
      Alan:
      
        We may yet need to quirk this but now we know which chips we have a
        way to do that should we find this breaks some other 8250 clone with
        dodgy THRE.
      Signed-off-by: default avatarDick Hollenbeck <dick@softplc.com>
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Cc: Kees Schoenmakers <k.schoenmakers@sigmae.nl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      4f36dc27
  2. 12 Nov, 2009 3 commits
  3. 11 Nov, 2009 2 commits
  4. 30 Sep, 2009 1 commit
    • sonic zhang's avatar
      Fit blackfin uart over sport driver into common uart inftrastructure. It · 195fd228
      sonic zhang authored
      is based on the early platform interfaces to get the platform data early
      when the console is initilized.
      
      1. Enable sport uart driver to change uart baud, data bit, stop bit at
         runtime.  Bind the index of uart device nodes to physical index of
         sports.
      
      2. Move all platform data into arch specific board files.  Register
         and probe platform device data in both early and normal stages.
      
      3. Console is registered in sport uart driver as well.
      
      4. Remove 500 us block waiting in sport tx stop code by putting a
         dummy data into tx fifo to make sure the sport tx stops when all bytes
         are shifted out except for the dummy data.
      
      5. clean up a bit and fix up coding style.
      Signed-off-by: default avatarSonic Zhang <sonic.zhang@analog.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Cc: Bryan Wu <cooloney@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      195fd228
  5. 17 Sep, 2009 1 commit
  6. 25 Sep, 2009 1 commit
    • Lamarque Vieira Souza's avatar
      Work around one problem with my Acer Bluetooth Optical Rechargeable Mouse · f4ab3880
      Lamarque Vieira Souza authored
      where the cursor gets stuck at screen's upper-left corner.
      
      Even my notebook's touchpad is not able to move cursor when the bluetooth
      mouse is connected to my Acer Ferrari 4005 notebook.
      
      Using input session instead of hid session solves this problem although
      the cursor still moves a little sluggishly with the bluetooth mouse,
      cursor moves correctly using the touchpad.
      
      My bluetooth mouse used to work well (no sluggish) until kernel 2.6.21,
      since then the problems are getting worse with each kernel release (it got
      sluggish in 2.6.22 and this this upper-left corner problem appeared in
      2.6.28 or 2.6.27).
      
      The patch adds a general quirk handling framework to the HIDP core and
      then uses this framework to implement a quirk for this device.
      
      [akpm@linux-foundation.org: use ARRAY_SIZE()-based search]
      Signed-off-by: default avatarLamarque V. Souza <lamarque@gmail.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      f4ab3880
  7. 11 Nov, 2009 1 commit
  8. 16 Nov, 2009 1 commit
  9. 12 Nov, 2009 1 commit
  10. 17 Nov, 2009 1 commit
  11. 12 Nov, 2009 1 commit
  12. 20 Aug, 2009 1 commit
    • Sudhakar Rajashekhara's avatar
      Implement memory accessor interface in the MTD layer which enables the · 7e3fac90
      Sudhakar Rajashekhara authored
      kernel to access flash data.
      
      This patch adds two new members to the mtd_partition structure, a function
      handler which will be called during setup of the partition and an argument
      to be passed to this setup function.
      
      Example:
      +static struct mtd_partition spi_flash_partitions[] = {
      +       [0] = {
      +               .name       = "U-Boot",
      +               .offset     = 0,
      +               .size       = SZ_256K,
      +               .mask_flags = MTD_WRITEABLE,
      +       },
      +       [1] = {
      +               .name       = "U-Boot Environment",
      +               .offset     = MTDPART_OFS_NXTBLK,
      +               .size       = SZ_64K,
      +               .mask_flags = MTD_WRITEABLE,
      +       },
      +       [2] = {
      +               .name       = "Linux",
      +               .offset     = MTDPART_OFS_NXTBLK,
      +               .size       = SZ_7M,
      +               .mask_flags = 0,
      +       },
      +       [3] = {
      +               .name       = "MAC Address",
      +               .offset     = MTDPART_OFS_NXTBLK,
      +               .size       = SZ_64K,
      +               .mask_flags = 0,
      +               .setup      = davinci_get_mac_addr,
      +               .context    = (void *)0,
      +       },
      +};
      
      The davinci_get_mac_addr function reads the MAC address from
      offset ZERO of last MTD partition.
      Signed-off-by: default avatarSudhakar Rajashekhara <sudhakar.raj@ti.com>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      7e3fac90
  13. 10 Nov, 2009 1 commit
  14. 16 Nov, 2009 1 commit
  15. 14 Oct, 2009 1 commit
    • Roland McGrath's avatar
      This adds CROSS_COMPILE as a kconfig string so you can store it in · 49dd91f6
      Roland McGrath authored
      .config.  Then you can use plain "make" in the configured kernel build
      directory to do the right cross compilation without setting the
      command-line or environment variable every time.
      
      With this, you can set up different build directories for different kernel
      configurations, whether native or cross-builds, and then use the simple:
      
      	make -C /build/dir M=module-source-dir
      
      idiom to build modules for any given target kernel, indicating which one
      by nothing but the build directory chosen.
      
      I tried a version that defaults the string with env="CROSS_COMPILE" so
      that in a "make oldconfig" with CROSS_COMPILE in the environment you can
      just hit return to store the way you're building it.  But the kconfig
      prompt for strings doesn't give you any way to say you want an empty
      string instead of the default, so I punted that.
      Signed-off-by: default avatarRoland McGrath <roland@redhat.com>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      49dd91f6
  16. 05 Sep, 2009 1 commit
  17. 11 Nov, 2009 1 commit
  18. 13 Oct, 2009 1 commit
  19. 11 Nov, 2009 1 commit
    • Henrik Rydberg's avatar
      With the recent system-wide improvements on suspend/resume and EFI booting · 300837ee
      Henrik Rydberg authored
      the suspend_resume method of the bcm5974 has broken.  When waking up from
      the S3 state on the MacBookAir, the trackpad is found in a yet unknown
      state, unable to switch to the proper multitouch mode.  The result is a
      frozen touchpad, and a flood of errors of the kind
      
      bcm5974: bad trackpad package, length: 8.
      
      This patch retracts the reset_resume method altogether, falling back on
      the generic unbind/rebind functionality of the usb layer until further
      investigations can be made as how to reset the device when booting from
      efi.
      Signed-off-by: default avatarHenrik Rydberg <rydberg@euromail.se>
      Cc: Dmitry Torokhov <dtor@mail.ru>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      300837ee
  20. 29 Sep, 2009 1 commit
  21. 03 Nov, 2009 2 commits
  22. 18 Sep, 2009 1 commit
  23. 02 Sep, 2009 1 commit
  24. 17 Nov, 2009 1 commit
  25. 12 Nov, 2009 1 commit
  26. 03 Nov, 2009 1 commit
    • Julia Lawall's avatar
      In quickcam_messenger.c, if the NULL test on uvd is needed, then the · 0a6690a3
      Julia Lawall authored
      dereference should be after the NULL test.
      
      In vpif_display.c, std_info is initialized to the address of a structure
      field.  This seems unlikely to be NULL.  If it could somehow be NULL, then
      the assignment should be moved after the NULL test.  Alternatively, perhaps
      the NULL test is intended to test std_info->stdid rather than std_info?
      
      In saa7134-alsa.c, the function is only called from one place, where the
      chip argument has already been dereferenced.  On the other hand, if it
      should be kept, then card should be initialized after it.
      
      A simplified version of the semantic match that detects this problem is as
      follows (http://coccinelle.lip6.fr/):
      
      // <smpl>
      @match exists@
      expression x, E;
      identifier fld;
      @@
      
      * x->fld
        ... when != \(x = E\|&x\)
      * x == NULL
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      0a6690a3
  27. 13 Oct, 2009 2 commits
    • Alexander Strakh's avatar
      In driver ./drivers/media/video/usbvideo/quickcam_messenger.c in line 91: · 21c6fdeb
      Alexander Strakh authored
        91         usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname));
      
      After this line we use strncat:
      
        92         strncat(cam->input_physname, "/input0", sizeof(cam->input_physname));
      
      where sizeof(cam->input_physname) returns length of cam->input_phisname
      without length for null-symbol.  But this parameter must be - "maximum
      numbers of bytes to copy", i.e.:
      sizeof(cam->input_physname)-strlen(cam->input_physname)-1.
      
      In this case, after call to usb_make_path the similar drivers use strlcat.
      
      Like in: drivers/hid/usbhid/hid-core.c:
      1152         usb_make_path(dev, hid->phys, sizeof(hid->phys));
      1153         strlcat(hid->phys, "/input", sizeof(hid->phys));
      
      Found by Linux Driver Verification Project.
      
      Use strlcat instead of strncat.
      Signed-off-by: default avatarAlexander Strakh <strakh@ispras.ru>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      21c6fdeb
    • Alexander Strakh's avatar
      In driver ./drivers/media/video/usbvideo/konicawc.c in line 227: · cfd90dbc
      Alexander Strakh authored
      227         usb_make_path(dev, cam->input_physname, sizeof(cam->input_physname));
      
      After this line we use strncat:
      
      228         strncat(cam->input_physname, "/input0", sizeof(cam->input_physname));
      
      where sizeof(cam->input_physname) returns length of cam->input_phisname
      without length for null-symbol.  But this parameter must be - "maximum
      numbers of bytes to copy", i.e.:
      sizeof(cam->input_physname)-strlen(cam->input_physname)-1.
      
      In this case, after call to usb_make_path the similar drivers use strlcat.
      
      Like in drivers/hid/usbhid/hid-core.c:
      1152         usb_make_path(dev, hid->phys, sizeof(hid->phys));
      1153         strlcat(hid->phys, "/input", sizeof(hid->phys));
      
      Found by Linux Driver Verification Project.
      
      Use strlcat instead of strncat.
      Signed-off-by: default avatarAlexander Strakh <strakh@ispras.ru>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      cfd90dbc
  28. 10 Nov, 2009 2 commits
  29. 17 Nov, 2009 1 commit
  30. 14 Nov, 2009 1 commit
  31. 03 Nov, 2009 1 commit
  32. 18 Aug, 2009 1 commit
  33. 17 Nov, 2009 1 commit
  34. 11 Nov, 2009 1 commit
    • Robert Jennings's avatar
      The Collaborative Memory Manager (CMM) module allocates individual pages · 92c311b9
      Robert Jennings authored
      over time that are not migratable.  On a long running system this can
      severely impact the ability to find enough pages to support a hotplug
      memory remove operation.
      
      This patch adds a memory isolation notifier and a memory hotplug notifier.
      The memory isolation notifier will return the number of pages found in
      the range specified.  This is used to determine if all of the used pages
      in a pageblock are owned by the balloon (or other entities in the notifier
      chain).  The hotplug notifier will free pages in the range which is to be
      removed.  The priority of this hotplug notifier is low so that it will be
      called near last, this helps avoids removing loaned pages in operations
      that fail due to other handlers.
      
      CMM activity will be halted when hotplug remove operations are active and
      resume activity after a delay period to allow the hypervisor time to
      adjust.
      Signed-off-by: default avatarRobert Jennings <rcj@linux.vnet.ibm.com>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Brian King <brking@linux.vnet.ibm.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Gerald Schaefer <geralds@linux.vnet.ibm.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      92c311b9