29 Oct, 2005

3 commits


28 Oct, 2005

1 commit


20 Oct, 2005

1 commit

  • Changes all spinlocks that can be held during an irq handler to disable
    interrupts while the lock is held. Changes spin_[un]lock_irq to use the
    irqsave/irqrestore variants for robustness and readability.

    In raw1394.c:handle_iso_listen(), don't grab host_info_lock at all -- we're
    not accessing host_info_list or host_count, and holding this lock while
    trying to tasklet_kill the iso tasklet this can cause an ABBA deadlock if
    ohci:dma_rcv_tasklet is running and tries to grab host_info_lock in
    raw1394.c:receive_iso. Test program attached reliably deadlocks all SMP
    machines I have been able to test without this patch.

    Signed-off-by: Andy Wingo
    Acked-by: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Wingo
     

09 Oct, 2005

1 commit

  • - added typedef unsigned int __nocast gfp_t;

    - replaced __nocast uses for gfp flags with gfp_t - it gives exactly
    the same warnings as far as sparse is concerned, doesn't change
    generated code (from gcc point of view we replaced unsigned int with
    typedef) and documents what's going on far better.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

01 Oct, 2005

11 commits

  • less noise in dmesg

    Signed-off-by: Ben Collins
    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • amdtp, dv1394, raw1394, video1394:

    Delete legacy module aliases. The macros did not work and the aliases are not
    needed nowadays.

    Signed-off-by: Stefan Richter
    Signed-off-by: Ben Collins
    Signed-off-by: Jody McIntyre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Work around limitation in rawiso routines. Required with 1394b cards on
    architectures where PAGE_SIZE is 4096. Based on a previous patch by Ben
    Collins.

    Signed-off-by: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Remove superfluous include.

    Signed-off-by: Jody McIntyre
    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • trivial edits of a few comments

    Signed-off-by: Stefan Richter
    Signed-off-by: Ben Collins
    Signed-off-by: Jody McIntyre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Use of time_before() macro, defined at linux/jiffies.h, which deal with
    wrapping correctly and are nicer to read.

    Signed-off-by: Marcelo Feitoza Parisi
    Signed-off-by: Domen Puncer
    Signed-off-by: Ben Collins
    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Fix debug code so it prints the correct speed (was defaulting to 100, so
    anything > 400 showed only 100).

    Signed-off-by: Stefan Richter
    Signed-off-by: Ben Collins
    Signed-off-by: Jody McIntyre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Skip a superfluous pause that occured when the config ROM of a node was
    scanned unsuccessfully. This also occurs if a node without link wrongly
    enables its "link active" self ID flag. A GWCTech 6-port hub does this.

    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Units were not detected if the local IRM performed a bus reset. ("The root
    node is not cycle master capable; selecting a new root node and resetting...",
    often seen with iPods and other SBP-2 devices). Rearrange the order of IRM
    duties and node scanning. TODO: Audit the ROM caching and parsing code for
    underlying issues.

    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Set serialize_io=1 by default. This is safer and required by seemingly more
    and more hardware. It causes little or no performance loss for S400 devices.
    Performance of S800 1394b devices may drop by 25...30%. Therefore make the
    parameter's description and dmesg message clearer about performance impact.

    Update description of the max_speed parameter too. IEEE1394_SPEED_MAX is
    currently S800.

    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     
  • Fixes for deadlocks of the ieee1394 and scsi subsystems and long delays in
    futile error recovery attempts when SBP-2 devices are removed or drivers are
    unloaded.

    - Complete commands quickly with DID_NO_CONNECT if the 1394 node is gone or if
    the 1394 low-level driver was unloaded.
    - Skip unnecessary work in the eh_abort_handler and eh_device_reset_handler if
    the node or 1394 low-level driver is gone.
    - Let scsi's high-level shut down gracefully when sbp2 is being unloaded or
    detached from the 1394 unit. A call to scsi_remove_device is added for this
    purpose, which requires us to store a scsi_device pointer.
    - scsi_device pointer is obtained from slave_alloc hook and cleared by
    slave_destroy. This avoids usage of the pointer after the scsi device was
    deleted e.g. by the user via scsi_mod's sysfs interface.

    Signed-off-by: Stefan Richter
    Signed-off-by: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jody McIntyre
     

13 Sep, 2005

1 commit


11 Sep, 2005

1 commit

  • The original API returned either an ERR_PTR() or a refcounted sdev.
    Unfortunately, if it's successful, you need to do a scsi_device_put() on
    the sdev otherwise the refcounting is wrong.

    Everyone seems to expect that scsi_add_device() should be callable
    without doing the ref put, so alter the API so it is (we still have
    __scsi_add_device with the original behaviour).

    The only actual caller that needs altering is the one in firewire ...
    not because it gets this right, but because it acts on the error if one
    is returned.

    Acked-by: Stefan Richter
    Signed-off-by: James Bottomley

    James Bottomley
     

10 Sep, 2005

1 commit


08 Sep, 2005

1 commit


06 Sep, 2005

1 commit

  • The pcilynx driver includes code to dump the contents of an i2c eeprom
    for debugging purposes. The same can be done from userspace using the
    i2cdump tool (part of the lm_sensors project) instead, in a more
    efficient and flexible way.

    Thus I would suggest that this functionality be simply dropped from the
    pcilynx driver.

    Signed-off-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare
     

30 Aug, 2005

1 commit

  • Remove the "list" member of struct sk_buff, as it is entirely
    redundant. All SKB list removal callers know which list the
    SKB is on, so storing this in sk_buff does nothing other than
    taking up some space.

    Two tricky bits were SCTP, which I took care of, and two ATM
    drivers which Francois Romieu fixed
    up.

    Signed-off-by: David S. Miller
    Signed-off-by: Francois Romieu

    David S. Miller
     

27 Aug, 2005

1 commit

  • spinlock used in irq handler should be initialized before registering
    irq, even if we know that our device has interrupts disabled; handler
    is registered shared and taking spinlock is done unconditionally. As
    it is, we can and do get oopsen on boot for some configuration, depending
    on irq routing - I've got a reproducer.

    Signed-off-by: Al Viro
    Signed-off-by: Ben Collins
    Signed-off-by: Linus Torvalds

    Al Viro
     

28 Jul, 2005

1 commit


15 Jul, 2005

1 commit

  • running coriander1 with an Apple iSight produces lots of dmesg output.

    Jul 13 22:14:17 ibook kernel: ieee1394: raw1394: /dev/raw1394 device initialized
    Jul 13 22:15:28 ibook kernel: ohci1394: fw-host0: IR legacy activated
    Jul 13 22:15:59 ibook last message repeated 208 times
    Jul 13 22:17:00 ibook last message repeated 762 times
    Jul 13 22:18:01 ibook last message repeated 914 times
    Jul 13 22:18:17 ibook last message repeated 238 times
    Jul 13 22:18:17 ibook kernel: ieee1394: unsolicited response packet received - no tlabel match
    Jul 13 22:18:17 ibook kernel: ohci1394: fw-host0: IR legacy activated

    its less noisy with the patch:

    Jul 14 08:03:08 ibook kernel: ieee1394: raw1394: /dev/raw1394 device initialized
    Jul 14 08:03:26 ibook kernel: ohci1394: fw-host0: IR legacy activated
    Jul 14 08:03:42 ibook last message repeated 10 times
    Jul 14 08:03:47 ibook kernel: printk: 63 messages suppressed.
    Jul 14 08:03:47 ibook kernel: ohci1394: fw-host0: IR legacy activated
    Jul 14 08:03:52 ibook kernel: printk: 74 messages suppressed.

    Signed-off-by: Olaf Hering
    Cc: Jody McIntyre
    Cc: Ben Collins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Hering
     

11 Jul, 2005

1 commit

  • Lots of this patch is trivial code cleanups (static vars were being
    intialized to 0, etc).

    There's also some fixes for ISO transmits (max buffer handling).
    Aswell, we have a few fixes to disable IRM capabilites correctly. We've
    also disabled, by default some generally unused EXPORT symbols for the
    sake of cleanliness in the kernel. However, instead of removing them
    completely, we felt it necessary to have a config option that allowed
    them to be enabled for the many projects outside of the main kernel tree
    that use our API for driver development.

    The primary reason for this patch is to revert a MODE6->MODE10 RBC
    conversion patch from the SCSI maintainers. The new conversions handled
    directly in the scsi layer do not seem to work for SBP2. This patch
    reverts to our old working code so that users can enjoy using Firewire
    disks and dvd drives again.

    We are working with the SCSI maintainers to resolve this issue outside
    of the main kernel tree. We'll merge the patch once the SCSI layer's
    handling of the MODE10 conversion is working for us.

    Signed-off-by: Linus Torvalds

    Ben Collins
     

07 Jul, 2005

1 commit


28 Jun, 2005

1 commit

  • This patch removes CONFIG_PMAC_PBOOK (PowerBook support). This is now
    split into CONFIG_PMAC_MEDIABAY for the actual hotswap bay that some
    powerbooks have, CONFIG_PM for power management related code, and just left
    out of any CONFIG_* option for some generally useful stuff that can be used
    on non-laptops as well.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     

26 Jun, 2005

1 commit

  • 1. Establish a simple API for process freezing defined in linux/include/sched.h:

    frozen(process) Check for frozen process
    freezing(process) Check if a process is being frozen
    freeze(process) Tell a process to freeze (go to refrigerator)
    thaw_process(process) Restart process
    frozen_process(process) Process is frozen now

    2. Remove all references to PF_FREEZE and PF_FROZEN from all
    kernel sources except sched.h

    3. Fix numerous locations where try_to_freeze is manually done by a driver

    4. Remove the argument that is no longer necessary from two function calls.

    5. Some whitespace cleanup

    6. Clear potential race in refrigerator (provides an open window of PF_FREEZE
    cleared before setting PF_FROZEN, recalc_sigpending does not check
    PF_FROZEN).

    This patch does not address the problem of freeze_processes() violating the rule
    that a task may only modify its own flags by setting PF_FREEZE. This is not clean
    in an SMP environment. freeze(process) is therefore not SMP safe!

    Signed-off-by: Christoph Lameter
    Signed-off-by: Linus Torvalds

    Christoph Lameter
     

21 Jun, 2005

3 commits


18 Jun, 2005

3 commits


17 Jun, 2005

1 commit

  • This fixed a problem that showed up in the Fedora development tree a few
    weeks before the Fedora Core 4 release, initially as slab corruption, later
    as hard crashes on boot up, when slab debugging was disabled for the
    release. More details on the history at
    https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=158424

    The problem is caused by sbp2's use of scsi_host->hostdata[0] to hold a
    scsi_id, without explicitly requesting space for it. Since hostdata is
    declared as a zero-sized array, we don't get any such space by default, so
    it must be explicitly requested. The patch below implements just that.

    Signed-off-by: Alexandre Oliva
    Cc: Jody McIntyre
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Oliva
     

27 May, 2005

1 commit


26 May, 2005

2 commits

  • drivers/ieee1394/sbp2.c: In function `sbp2_check_sbp2_response':
    drivers/ieee1394/sbp2.c:2154: warning: unused variable `device_type'

    Signed-off-by: Andrew Morton
    Signed-off-by: James Bottomley

    Andrew Morton
     
  • a) TYPE_SDAD renamed to TYPE_RBC and taken to scsi.h
    b) in sbp2.c remapping of TYPE_RPB to TYPE_DISK turned off
    c) relevant places in midlayer and sd.c taught to accept TYPE_RBC
    d) sd.c::sd_read_cache_type() looks into page 6 when dealing with
    TYPE_RBC - these guys have writeback cache flag there and are not guaranteed
    to have page 8 at all.
    e) sd_read_cache_type() got an extra sanity check - it checks that
    it got the page it asked for before using its contents. And screams if
    mismatch had happened. Rationale: there are broken devices out there that
    are "helpful" enough to go for "I don't have a page you've asked for, here,
    have another one". For example, PL3507 had been caught doing just that...
    f) sbp2 sets sdev->use_10_for_rw and sdev->use_10_for_ms instead
    of bothering to remap READ6/WRITE6/MOD_SENSE, so most of the conversions
    in there are gone now.

    Incidentally, I wonder if USB storage devices that have no
    mode page 8 are simply RBC ones. I haven't touched that, but it might
    be interesting to check...

    Signed-off-by: Al Viro
    Signed-off-by: James Bottomley

    Al Viro