11 Oct, 2007

3 commits


21 Sep, 2007

1 commit

  • Initialization of ohci1394 was broken according to one reporter if the
    driver was statically linked, i.e. not built as loadable module. Dmesg:

    PCI: Device 0000:02:07.0 not available because of resource collisions
    ohci1394: Failed to enable OHCI hardware.

    This was reported for a Toshiba Satellite 5100-503. The cause is commit
    8df4083c5291b3647e0381d3c69ab2196f5dd3b7 in Linux 2.6.19-rc1 which only
    served purposes of early remote debugging via FireWire. This
    functionality is better provided by the currently out-of-tree driver
    ohci1394_earlyinit. Reversal of the commit was OK'd by Andi Kleen.

    Signed-off-by: Stefan Richter

    Stefan Richter
     

26 Aug, 2007

1 commit


03 Aug, 2007

2 commits


27 Jul, 2007

1 commit


20 Jul, 2007

1 commit

  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     

18 Jul, 2007

1 commit

  • Currently, the freezer treats all tasks as freezable, except for the kernel
    threads that explicitly set the PF_NOFREEZE flag for themselves. This
    approach is problematic, since it requires every kernel thread to either
    set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
    care for the freezing of tasks at all.

    It seems better to only require the kernel threads that want to or need to
    be frozen to use some freezer-related code and to remove any
    freezer-related code from the other (nonfreezable) kernel threads, which is
    done in this patch.

    The patch causes all kernel threads to be nonfreezable by default (ie. to
    have PF_NOFREEZE set by default) and introduces the set_freezable()
    function that should be called by the freezable kernel threads in order to
    unset PF_NOFREEZE. It also makes all of the currently freezable kernel
    threads call set_freezable(), so it shouldn't cause any (intentional)
    change of behaviour to appear. Additionally, it updates documentation to
    describe the freezing of tasks more accurately.

    [akpm@linux-foundation.org: build fixes]
    Signed-off-by: Rafael J. Wysocki
    Acked-by: Nigel Cunningham
    Cc: Pavel Machek
    Cc: Oleg Nesterov
    Cc: Gautham R Shenoy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

16 Jul, 2007

2 commits

  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (166 commits)
    [SCSI] ibmvscsi: convert to use the data buffer accessors
    [SCSI] dc395x: convert to use the data buffer accessors
    [SCSI] ncr53c8xx: convert to use the data buffer accessors
    [SCSI] sym53c8xx: convert to use the data buffer accessors
    [SCSI] ppa: coding police and printk levels
    [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc
    [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c
    [SCSI] remove the dead CYBERSTORMIII_SCSI option
    [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
    [SCSI] Clean up scsi_add_lun a bit
    [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs
    [SCSI] sni_53c710: Cleanup
    [SCSI] qla4xxx: Fix underrun/overrun conditions
    [SCSI] megaraid_mbox: use mutex instead of semaphore
    [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation.
    [SCSI] qla2xxx: update version to 8.02.00-k1.
    [SCSI] qla2xxx: add support for NPIV
    [SCSI] stex: use resid for xfer len information
    [SCSI] Add Brownie 1200U3P to blacklist
    [SCSI] scsi.c: convert to use the data buffer accessors
    ...

    Linus Torvalds
     
  • Going through the string and waiting for _pointer_ to become '\0'
    is not what the authors meant...

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

    Al Viro
     

10 Jul, 2007

13 commits

  • Based on patch "the scheduled removal of RAW1394_REQ_ISO_{SEND,LISTEN}"
    from Adrian Bunk, November 20 2006.

    This patch also removes the underlying facilities in ohci1394 and
    disables them in pcilynx. That is, hpsb_host_driver.devctl() and
    hpsb_host_driver.transmit_packet() are no longer used for iso reception
    and transmission.

    Since video1394 and dv1394 only work with ohci1394 and raw1394's rawiso
    interface has never been implemented in pcilynx, pcilynx is now no
    longer useful for isochronous applications.

    raw1394 will still handle the request types but will complete the
    requests with errors that indicate API version conflicts.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • This is upwards compatible, except that integer values other than 0 or 1
    are no longer accepted. But values like "Y", "N", "no", "nnoooh!" work
    now.

    Also, improve a comment on the serialize_io parameter and make the
    ORB_SET_EXCLUSIVE macro ultra-safe.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • Association of a host device with a node on NUMA machines optimizes
    allocations of skbs given from the networking stack to eth1394.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • After ieee1394 was converted away from class_device like the networking
    subsystem was already in 2.6.21, eth1394's device may point to the
    fw-host device as its parent again like in 2.6.20.

    This affects userspace tools which examine the sysfs representation of
    eth1394's device.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • Remove the global nodemgr_serialize mutex which enclosed most of the
    host thread event loop. This allows for parallelism between several
    host adapter cards.

    Properly serialize the driver hooks .update(), .suspend(), .resume(),
    and .remove() by means of device->sem. These hooks can be called from
    outside the host threads' contexts.

    Get() and put() the device.driver when calling its hooks.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • Here is a straightforward conversion to "struct device". The "struct
    class_device" will be removed from the kernel.

    It seems to work fine for me with and without CONFIG_SYSFS_DEPRECATED
    set.

    Signed-off-by: Stefan Richter

    Kay Sievers
     
  • I was told that only i386 aligns 64 bit integers at 4 bytes boundaries
    while all other architectures (32 bit architectures with 64 bit
    siblings) align it on 8 bytes boundaries.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • Pointed out by Arnd Bergmann: PPC32 aligns this at 64bit, IA32 packs
    it. A kernel-wide available __compat_u64 which is 4-byte aligned on
    AMD64 and IA64 would be nicer though.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • Add compat_ioctl. Although all structures are more or less same,
    raw1394_iso_packets got pointer inside, and raw1394_cycle_timer got unwanted
    padding in the middle. I did not add any translation for ioctls passing array
    of integers around as integers seem to have same size (32 bits) on all
    architectures supported by Linux.

    Signed-off-by: Petr Vandrovec
    Acked-by: Dan Dennedy
    Signed-off-by: Stefan Richter (split into 3 patches)

    Petr Vandrovec
     
  • * write(fd, buf, 52) from 32bit app was returning 56. Most of callers did not
    care, but some (arm registration) did, and anyway it looks bad if request for
    writing 52 bytes returns 56. And returning sizeof anything in 'int' is not
    good as well. So all functions now return '0' instead of
    sizeof(struct raw1394_request) on success, and write() itself provides correct
    return value (it just returns value it was asked to write on success as raw1394
    does not do any partial writes at all).

    * Related to this was problem that write() could have returned 0 when kernel
    state would become corrupted and moved to different state than
    opened/initialized/connected. Now it returns -EBADFD which seemed appropriate.

    Signed-off-by: Petr Vandrovec
    Acked-by: Dan Dennedy
    Signed-off-by: Stefan Richter (split into 3 patches)

    Petr Vandrovec
     
  • read() always failed with -EFAULT. This was happening due to
    raw1394_compat_read copying data to wrong location - access_ok always
    failed as 'r' is kernel address, not user. Whole function just tried to
    copy data from 'r' to 'r', which is not good.

    Signed-off-by: Petr Vandrovec
    Acked-by: Dan Dennedy
    Signed-off-by: Stefan Richter (split into 3 patches)

    Petr Vandrovec
     
  • to clarify who is supposed to set what

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • spotted by Robert P. J. Day

    Signed-off-by: Stefan Richter

    Stefan Richter
     

16 Jun, 2007

1 commit

  • This patch fixes a problem that occurs when packets cannot be sent across
    the ieee1394 bus and we return NETDEV_TX_BUSY in the net driver "hard start
    xmit" routine ether1394_tx. When we return NETDEV_TX_BUSY the stack will
    call ether1394_tx again with the same skb. So we need to restore the header
    to look like it did before we munged it for xmit over ieee1394.

    [Stefan Richter: changed whitespace, deleted a local variable]

    Signed-off-by: Stefan Richter

    Carlos E. Ugarte
     

01 Jun, 2007

2 commits

  • With "modprobe sbp2 long_ieee1394_id=y", the format of
    /sys/bus/scsi/devices/*:*:*:*/ieee1394_id is changed from e.g.
    0001041010004beb:0:0 to 0001041010004beb:00042c:0000.

    The longer format fully conforms to object identifier sizes as per
    SAM(-2...4) and reflects what the SAM target port identifier is meant to
    contain: A Discovery ID allegedly specified by ISO/IEC 13213:1994 ---
    however there is no such thing; the authors of SAM probably meant
    Directory ID). Especially target nodes with multiple dynamically added
    targets may use Directory IDs to persistently identify target ports.

    The new format is independent of implementation details of nodemgr.
    Thus the same ieee1394_id attribute format can be implemented in the new
    firewire stack.

    The ieee1394_id is typically used to create persistently named links in
    /dev/disk/by-id.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • struct csr1212_keyval.offset is relative to 0xffff f000 0000 rather than
    0xffff f000 0400.

    Signed-off-by: Stefan Richter

    Stefan Richter
     

31 May, 2007

1 commit


28 May, 2007

6 commits

  • While playing with libiec61883 I've noticed that async_send is broken
    because it was doing copy_from_user(...., packet->data_size) before
    packet->data_size was set to any useful value. It got broken when
    packet->allocated_data_size got introduced, as hpsb_alloc_packet does
    not set packet->data_size anymore. (Regression in 2.6.22-rc1)

    Signed-off-by: Petr Vandrovec
    Signed-off-by: Stefan Richter

    Petr Vandrovec
     
  • This adds a real parent device to eth1394's ethX device like in Linux
    2.6.20 and older. However, due to unfinished conversion of the ieee1394
    away from class_device, we now refer to the FireWire controller's PCI
    device as the parent, not to the ieee1394 driver's fw-host device.

    Having a real parent device instead of a virtual one allows udev scripts
    to distinguish eth1394 interfaces from networking bridges, bondings and
    the likes.

    Fixes a regression since 2.6.21:
    https://bugs.gentoo.org/show_bug.cgi?id=177199

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • When eth1394 was unable to acquire a transaction label, it just dropped
    outgoing packets without attempt to resend them later.

    The transmit queue is now halted if no tlabel is available to
    ->hard_start_xmit(). A workqueue job is then scheduled to catch the
    moment when ieee1394 recycled the next lot of tlabels.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=8402

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • When we are within hard_start_xmit, the queue is already awake.

    Signed-off-by: Stefan Richter

    Stefan Richter
     
  • Signed-off-by: Stefan Richter

    Stefan Richter
     
  • - remove the unnecessary map_single path.

    - convert to use the new accessors for the sg lists and the
    parameters.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Stefan Richter
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     

11 May, 2007

1 commit

  • * 'juju' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (138 commits)
    firewire: Convert OHCI driver to use standard goto unwinding for error handling.
    firewire: Always use parens with sizeof.
    firewire: Drop single buffer request support.
    firewire: Add a comment to describe why we split the sg list.
    firewire: Return SCSI_MLQUEUE_HOST_BUSY for out of memory cases in queuecommand.
    firewire: Handle the last few DMA mapping error cases.
    firewire: Allocate scsi_host up front and allocate the sbp2_device as hostdata.
    firewire: Provide module aliase for backwards compatibility.
    firewire: Add to fw-core-y instead of assigning fw-core-objs in Makefile.
    firewire: Break out shared IEEE1394 constant to separate header file.
    firewire: Use linux/*.h instead of asm/*.h header files.
    firewire: Uppercase most macro names.
    firewire: Coding style cleanup: no spaces after function names.
    firewire: Convert card_rwsem to a regular mutex.
    firewire: Clean up comment style.
    firewire: Use lib/ implementation of CRC ITU-T.
    CRC ITU-T V.41
    firewire: Rename fw-device-cdev.c to fw-cdev.c and move header to include/linux.
    firewire: Future proof the iso ioctls by adding a handle for the iso context.
    firewire: Add read/write and size annotations to IOC numbers.
    ...

    Acked-by: Christoph Hellwig
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

10 May, 2007

1 commit


09 May, 2007

2 commits


03 May, 2007

1 commit

  • I noticed that many source files include while they do
    not appear to need it. Here is an attempt to clean it all up.

    In order to find all possibly affected files, I searched for all
    files including but without any other occurence of "pci"
    or "PCI". I removed the include statement from all of these, then I
    compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
    false positives manually.

    My tests covered 66% of the affected files, so there could be false
    positives remaining. Untested files are:

    arch/alpha/kernel/err_common.c
    arch/alpha/kernel/err_ev6.c
    arch/alpha/kernel/err_ev7.c
    arch/ia64/sn/kernel/huberror.c
    arch/ia64/sn/kernel/xpnet.c
    arch/m68knommu/kernel/dma.c
    arch/mips/lib/iomap.c
    arch/powerpc/platforms/pseries/ras.c
    arch/ppc/8260_io/enet.c
    arch/ppc/8260_io/fcc_enet.c
    arch/ppc/8xx_io/enet.c
    arch/ppc/syslib/ppc4xx_sgdma.c
    arch/sh64/mach-cayman/iomap.c
    arch/xtensa/kernel/xtensa_ksyms.c
    arch/xtensa/platform-iss/setup.c
    drivers/i2c/busses/i2c-at91.c
    drivers/i2c/busses/i2c-mpc.c
    drivers/media/video/saa711x.c
    drivers/misc/hdpuftrs/hdpu_cpustate.c
    drivers/misc/hdpuftrs/hdpu_nexus.c
    drivers/net/au1000_eth.c
    drivers/net/fec_8xx/fec_main.c
    drivers/net/fec_8xx/fec_mii.c
    drivers/net/fs_enet/fs_enet-main.c
    drivers/net/fs_enet/mac-fcc.c
    drivers/net/fs_enet/mac-fec.c
    drivers/net/fs_enet/mac-scc.c
    drivers/net/fs_enet/mii-bitbang.c
    drivers/net/fs_enet/mii-fec.c
    drivers/net/ibm_emac/ibm_emac_core.c
    drivers/net/lasi_82596.c
    drivers/parisc/hppb.c
    drivers/sbus/sbus.c
    drivers/video/g364fb.c
    drivers/video/platinumfb.c
    drivers/video/stifb.c
    drivers/video/valkyriefb.c
    include/asm-arm/arch-ixp4xx/dma.h
    sound/oss/au1550_ac97.c

    I would welcome test reports for these files. I am fine with removing
    the untested files from the patch if the general opinion is that these
    changes aren't safe. The tested part would still be nice to have.

    Note that this patch depends on another header fixup patch I submitted
    to LKML yesterday:
    [PATCH] scatterlist.h needs types.h
    http://lkml.org/lkml/2007/3/01/141

    Signed-off-by: Jean Delvare
    Cc: Badari Pulavarty
    Signed-off-by: Greg Kroah-Hartman

    Jean Delvare