1. 14 6月, 2006 4 次提交
  2. 13 6月, 2006 1 次提交
  3. 12 6月, 2006 5 次提交
    • P
      [PATCH] Fix for the PPTP hangs that have been reported · 289a1e99
      Paul Mackerras 提交于
      People have been reporting that PPP connections over ptys, such as
      used with PPTP, will hang randomly when transferring large amounts of
      data, for instance in http://bugzilla.kernel.org/show_bug.cgi?id=6530.
      I have managed to reproduce the problem, and the patch below fixes the
      actual cause.
      
      The problem is not in fact in ppp_async.c but in n_tty.c.  What
      happens is that when pptp reads from the pty, we call read_chan() in
      drivers/char/n_tty.c on the master side of the pty.  That copies all
      the characters out of its buffer to userspace and then calls
      check_unthrottle(), which calls the pty unthrottle routine, which
      calls tty_wakeup on the slave side, which calls ppp_asynctty_wakeup,
      which calls tasklet_schedule.  So far so good.  Since we are in
      process context, the tasklet runs immediately and calls
      ppp_async_process(), which calls ppp_async_push, which calls the
      tty->driver->write function to send some more output.
      
      However, tty->driver->write() returns zero, because the master
      tty->receive_room is still zero.  We haven't returned from
      check_unthrottle() yet, and read_chan() only updates tty->receive_room
      _after_ calling check_unthrottle.  That means that the driver->write
      call in ppp_async_process() returns 0.  That would be fine if we were
      going to get a subsequent wakeup call, but we aren't (we just had it,
      and the buffer is now empty).
      
      The solution is for n_tty.c to update tty->receive_room _before_
      calling the driver unthrottle routine.  The patch below does this.
      With this patch I was able to transfer a 900MB file over a PPTP
      connection (taking about 25 minutes), whereas without the patch the
      connection would always stall in under a minute.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      289a1e99
    • M
      [PATCH] sata_mv: grab host lock inside eng_timeout · 2f9719b6
      Mark Lord 提交于
      Bug fix:  mv_eng_timeout() calls mv_err_intr() without first grabbing the host lock,
      which can lead to all sorts of interesting scenarios.
      
      This whole error-handling portion of sata_mv is nasty (and will get fixed for
      the new EH stuff), but for now this patch will help keep it on life-support.
      Signed-off-by: NMark Lord <liml@rtr.ca>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      2f9719b6
    • Y
      [PATCH] PCI: reverse pci config space restore order · 8b8c8d28
      Yu, Luming 提交于
      According to Intel ICH spec, there are several rules that Base Address
      should be programmed before IOSE  (PCICMD register ) enabled.
      
      For example ICH7:
      
      12.1.3  SATA : the base address register for the bus master register
                     should be programmed before this bit is set.
      
      11.1.3:  PCICMD (USB): The base address register for USB should be
                             programmed before this bit is set.
      ....
      
      To make sure kernel code follow this rule , and prevent unnecessary
      confusion. I proposal this patch.
      Signed-off-by: NLuming Yu <luming.yu@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8b8c8d28
    • D
      [PATCH] PCI: Improve PCI config space writeback · 04d9c1a1
      Dave Jones 提交于
      At least one laptop blew up on resume from suspend with a black screen due
      to a lack of this patch.  By only writing back config space that is
      different, we minimise the possibility of accidents like this.
      Signed-off-by: NDave Jones <davej@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      04d9c1a1
    • J
      [PATCH] PCI: Error handling on PCI device resume · 8d92bc22
      Jean Delvare 提交于
      We currently don't handle errors properly when resuming a PCI device:
      * In pci_default_resume() we capture the error code returned by
        pci_enable_device() but don't pass it up to the caller.
        Introduced by commit 95a62965
      * In pci_resume_device(), the errors possibly returned by the driver's
        .resume method or by the generic pci_default_resume() function are
        ignored.
      
      This patch fixes both issues.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8d92bc22
  4. 11 6月, 2006 3 次提交
  5. 10 6月, 2006 2 次提交
  6. 09 6月, 2006 4 次提交
  7. 06 6月, 2006 11 次提交
  8. 05 6月, 2006 1 次提交
  9. 02 6月, 2006 2 次提交
  10. 01 6月, 2006 7 次提交
    • B
      [SCSI] scsi_lib.c: properly count the number of pages in scsi_req_map_sg() · f5235962
      Bryan Holty 提交于
      The calculation of nr_pages in scsi_req_map_sg() doesn't account for
      the fact that the first page could have an offset that pushes the end
      of the buffer onto a new page.
      Signed-off-by: NBryan Holty <lgeek@frontiernet.net>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      f5235962
    • N
      [PATCH] md: Fix badness in sysfs_notify caused by md_new_event · c331eb04
      NeilBrown 提交于
      From: NeilBrown <neilb@suse.de>
      
      If an error is reported by a drive in a RAID array (which is done via
      bi_end_io - in interrupt context), we call md_error and md_new_event which
      calls sysfs_notify.  However sysfs_notify grabs a mutex and so cannot be
      called in interrupt context.
      
      This patch just creates a variant of md_new_event which avoids the sysfs
      call, and uses that.  A better fix for later is to arrange for the event to
      be called from user-context.
      
      Note: avoiding the sysfs call isn't a problem as an error will not, by
      itself, modify the sync_action attribute.  (We do still need to
      wake_up(&md_event_waiters) as an error by itself will modify /proc/mdstat).
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c331eb04
    • J
      [PATCH] sgiioc4: use mmio ops instead of port io · a835fa79
      Jeremy Higdon 提交于
      From: Jeremy Higdon <jeremy@sgi.com>
      
      This patch fixes a bug in sgiioc4 where it was using the default IDE port
      I/O operations instead of MMIO.
      
      The IDE part of the IOC4 chip uses MMIO to map the chip registers.
      Unfortunately, the sgiioc4 driver uses the default port IO operations,
      which happens to have worked for the past few years.  That's about to
      change, however, thus this change from inX/outX to readX/writeX.
      Signed-off-by: NJeremy Higdon <jeremy@sgi.com>
      Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a835fa79
    • M
      [PATCH] maxinefb: Fix compilation error · 8fd66ab8
      Martin Michlmayr 提交于
      From: Martin Michlmayr <tbm@cyrius.com>
      
      Fix the following compilation error:
      
      CC      drivers/video/maxinefb.o
      drivers/video/maxinefb.c:58: warning: initializer-string for array of chars is too long
      drivers/video/maxinefb.c:58: warning: (near initialization for \u2018maxinefb_fix.id\u2019)
      drivers/video/maxinefb.c:110: error: unknown field \u2018fb_get_fix\u2019 specified in initializer
      drivers/video/maxinefb.c:110: error: \u2018gen_get_fix\u2019 undeclared here (not in a function)
      drivers/video/maxinefb.c:111: error: unknown field \u2018fb_get_var\u2019 specified in initializer
      drivers/video/maxinefb.c:111: error: \u2018gen_get_var\u2019 undeclared here (not in a function)
      make[2]: *** [drivers/video/maxinefb.o] Error 1
      Signed-off-by: NMartin Michlmayr <tbm@cyrius.com>
      Signed-off-by: NAntonino Daplas <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      8fd66ab8
    • R
      [PATCH] au1100fb: Fix compilation · c05b7f3d
      Rodolfo Giometti 提交于
      From: Rodolfo Giometti <giometti@linux.it>
      
      Fix the following warning on compilation:
      
      drivers/video/au1100fb.c: In function `au1100fb_fb_setcolreg':
      drivers/video/au1100fb.c:219: warning: ISO C90 forbids mixed declarations and code
      drivers/video/au1100fb.c: In function `au1100fb_fb_pan_display':
      drivers/video/au1100fb.c:321: warning: ISO C90 forbids mixed declarations and code
      drivers/video/au1100fb.c: In function `au1100fb_fb_mmap':
      drivers/video/au1100fb.c:387: warning: ISO C90 forbids mixed declarations and code
      drivers/video/au1100fb.c: In function `au1100fb_drv_probe':
      drivers/video/au1100fb.c:471: warning: unsigned int format, long unsigned int arg (arg 2)
      drivers/video/au1100fb.c: At top level:
      drivers/video/au1100fb.c:617: warning: initialization from incompatible pointer type
      drivers/video/au1100fb.c:618: warning: initialization from incompatible pointer type
      Signed-off-by: NRodolfo Giometti <giometti@linux.it>
      Signed-off-by: NAntonino Daplas <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      c05b7f3d
    • A
      [PATCH] revert "swsusp add check for suspension of X controlled devices" · 760f1fce
      Andrew Morton 提交于
      From: Andrew Morton <akpm@osdl.org>
      
      Revert commit ff4da2e2.
      
      It broke APM suspend, probably because APM doesn't switch back to a VT
      when suspending.
      
      Tracked down by Matt Mackall <mpm@selenic.com>
      
      Rafael sayeth:
        "It only fixed the theoretical issue that a quick-handed user could
         switch to X after processes have been frozen and before the devices
         are suspended.
      
         With the current userland suspend tools it shouldn't be necessary."
      
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      760f1fce
    • C
      [PATCH] IPMI: reserve I/O ports separately · d61a3ead
      Corey Minyard 提交于
      From: Corey Minyard <minyard@acm.org>
      
      This patch is pretty important to get in for IPMI, new systems have been
      changing the way ACPI and IPMI interact, and this works around the problems
      for now.  This is a temporary fix until we get proper ACPI handling in
      IPMI.
      
      Fixed releasing already-allocated regions when a later request fails, and
      forward-ported it to HEAD.
      
      Some BIOSes reserve disjoint I/O regions in their ACPI tables for the IPMI
      controller.  This causes problems when trying to register the entire I/O
      region.  Therefore we must register each I/O port separately.
      Signed-off-by: NJordan Hargrave <Jordan_Hargrave@dell.com>
      Signed-off-by: NMatt Domsch <Matt_Domsch@dell.com>
      Signed-off-by: NCorey Minyard <minyard@acm.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      d61a3ead