[patch 00/49] 2.6.27.5 stable review - Kernel

This is a discussion on [patch 00/49] 2.6.27.5 stable review - Kernel ; This is the start of the stable review cycle for the 2.6.27.5 release. There are 49 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please ...

+ Reply to Thread
Page 1 of 3 1 2 3 LastLast
Results 1 to 20 of 43

Thread: [patch 00/49] 2.6.27.5 stable review

  1. [patch 00/49] 2.6.27.5 stable review

    This is the start of the stable review cycle for the 2.6.27.5 release.
    There are 49 patches in this series, all will be posted as a response to
    this one. If anyone has any issues with these being applied, please let
    us know. If anyone is a maintainer of the proper subsystem, and wants
    to add a Signed-off-by: line to the patch, please respond with it.

    These patches are sent out with a number of different people on the Cc:
    line. If you wish to be a reviewer, please email stable@kernel.org to
    add your name to the list. If you want to be off the reviewer list,
    also email us.

    Responses should be made by Friday, November 14, 00:00:01 UTC. Anything
    received after that time might be too late.

    The whole patch series can be found in one patch at:
    kernel.org/pub/linux/kernel/v2.6/stable-review/patch-2.6.27.5-rc1.gz
    and the diffstat can be found below.


    thanks,

    greg k-h

    ------------
    Documentation/cciss.txt | 2
    Makefile | 2
    arch/arm/mach-pxa/include/mach/reset.h | 9 +
    arch/arm/mach-pxa/reset.c | 9 +
    arch/arm/mach-pxa/spitz.c | 2
    arch/arm/mach-pxa/tosa.c | 2
    arch/arm/mm/cache-xsc3l2.c | 4
    arch/x86/Kconfig | 20 ++++
    arch/x86/kernel/setup.c | 41 ++++++++
    arch/x86/kernel/tsc.c | 8 -
    drivers/acpi/dock.c | 5 -
    drivers/ata/libata-eh.c | 21 ++--
    drivers/block/cciss.c | 28 +++++
    drivers/block/cpqarray.c | 7 +
    drivers/dca/dca-core.c | 2
    drivers/dma/ioat_dma.c | 11 +-
    drivers/dma/iovlock.c | 17 +--
    drivers/hid/hidraw.c | 2
    drivers/md/linear.c | 2
    drivers/md/raid10.c | 2
    drivers/mmc/core/core.c | 6 +
    drivers/mtd/chips/cfi_cmdset_0002.c | 13 --
    drivers/mtd/chips/jedec_probe.c | 10 --
    drivers/net/r8169.c | 134 ++++++++++++++--------------
    drivers/net/wireless/iwlwifi/iwl-5000-hw.h | 7 +
    drivers/net/wireless/iwlwifi/iwl-5000.c | 63 +------------
    drivers/net/wireless/iwlwifi/iwl-agn.c | 57 ++++++++---
    drivers/net/wireless/iwlwifi/iwl-calib.c | 60 ++++++++++++
    drivers/net/wireless/iwlwifi/iwl-core.c | 27 +----
    drivers/net/wireless/iwlwifi/iwl-core.h | 8 +
    drivers/net/wireless/iwlwifi/iwl-dev.h | 15 +--
    drivers/net/wireless/iwlwifi/iwl-power.c | 39 +++++++-
    drivers/net/wireless/iwlwifi/iwl-power.h | 4
    drivers/net/wireless/iwlwifi/iwl-scan.c | 8 -
    drivers/net/wireless/iwlwifi/iwl3945-base.c | 7 +
    drivers/net/wireless/zd1211rw/zd_usb.c | 2
    fs/ext3/super.c | 11 +-
    fs/hfs/catalog.c | 4
    fs/hfsplus/bitmap.c | 12 ++
    fs/hfsplus/catalog.c | 5 +
    fs/jffs2/background.c | 10 +-
    fs/jffs2/compr_lzo.c | 15 +--
    include/asm-generic/memory_model.h | 2
    include/linux/mtd/cfi.h | 22 +++-
    include/net/af_unix.h | 1
    kernel/cgroup.c | 1
    mm/hugetlb.c | 49 +++++++++-
    mm/internal.h | 29 ++++++
    mm/page_alloc.c | 28 ++++-
    net/unix/af_unix.c | 31 +++++-
    net/unix/garbage.c | 49 +++++++---
    security/keys/internal.h | 1
    security/keys/process_keys.c | 2
    security/keys/request_key.c | 4
    sound/pci/hda/patch_sigmatel.c | 15 +--
    55 files changed, 647 insertions(+), 300 deletions(-)
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. [patch 10/49] cciss: fix regression firmware not displayed in procfs

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Mike Miller

    commit 22bece00dc1f28dd3374c55e464c9f02eb642876 upstream

    This regression was introduced by commit
    6ae5ce8e8d4de666f31286808d2285aa6a50fa40 ("cciss: remove redundant code").

    This patch fixes a regression where the controller firmware version is not
    displayed in procfs. The previous patch would be called anytime something
    changed. This will get called only once for each controller.

    Signed-off-by: Mike Miller
    Cc: FUJITA Tomonori
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/block/cciss.c | 23 ++++++++++++++++++++++-
    1 file changed, 22 insertions(+), 1 deletion(-)

    --- a/drivers/block/cciss.c
    +++ b/drivers/block/cciss.c
    @@ -3403,7 +3403,8 @@ static int __devinit cciss_init_one(stru
    int i;
    int j = 0;
    int rc;
    - int dac;
    + int dac, return_code;
    + InquiryData_struct *inq_buff = NULL;

    i = alloc_cciss_hba();
    if (i < 0)
    @@ -3509,6 +3510,25 @@ static int __devinit cciss_init_one(stru
    /* Turn the interrupts on so we can service requests */
    hba[i]->access.set_intr_mask(hba[i], CCISS_INTR_ON);

    + /* Get the firmware version */
    + inq_buff = kzalloc(sizeof(InquiryData_struct), GFP_KERNEL);
    + if (inq_buff == NULL) {
    + printk(KERN_ERR "cciss: out of memory\n");
    + goto clean4;
    + }
    +
    + return_code = sendcmd_withirq(CISS_INQUIRY, i, inq_buff,
    + sizeof(InquiryData_struct), 0, 0 , 0, TYPE_CMD);
    + if (return_code == IO_OK) {
    + hba[i]->firm_ver[0] = inq_buff->data_byte[32];
    + hba[i]->firm_ver[1] = inq_buff->data_byte[33];
    + hba[i]->firm_ver[2] = inq_buff->data_byte[34];
    + hba[i]->firm_ver[3] = inq_buff->data_byte[35];
    + } else { /* send command failed */
    + printk(KERN_WARNING "cciss: unable to determine firmware"
    + " version of controller\n");
    + }
    +
    cciss_procinit(i);

    hba[i]->cciss_max_sectors = 2048;
    @@ -3519,6 +3539,7 @@ static int __devinit cciss_init_one(stru
    return 1;

    clean4:
    + kfree(inq_buff);
    #ifdef CONFIG_CISS_SCSI_TAPE
    kfree(hba[i]->scsi_rejects.complete);
    #endif

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. [patch 26/49] I/OAT: fix async_tx.callback checking

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Maciej Sosnowski

    commit 12ccea24e309d815d058cdc6ee8bf2c4b85f0c5f upstream

    async_tx.callback should be checked for the first
    not the last descriptor in the chain.

    Signed-off-by: Maciej Sosnowski
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/dma/ioat_dma.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/drivers/dma/ioat_dma.c
    +++ b/drivers/dma/ioat_dma.c
    @@ -519,7 +519,7 @@ static dma_cookie_t ioat1_tx_submit(stru
    }

    hw->ctl = IOAT_DMA_DESCRIPTOR_CTL_CP_STS;
    - if (new->async_tx.callback) {
    + if (first->async_tx.callback) {
    hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN;
    if (first != new) {
    /* move callback into to last desc */
    @@ -611,7 +611,7 @@ static dma_cookie_t ioat2_tx_submit(stru
    }

    hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_CP_STS;
    - if (new->async_tx.callback) {
    + if (first->async_tx.callback) {
    hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN;
    if (first != new) {
    /* move callback into to last desc */

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. [patch 32/49] iwlwifi: use correct DMA_MASK

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Tomas Winkler

    commit 093d874c02e8d3091aa38596faf0ff2bfd4f0ceb upstream

    Use correct DMA_MASK: 4964 and 5000 support 36 bit addresses for
    pci express memory access.

    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville

    ---
    drivers/net/wireless/iwlwifi/iwl-agn.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
    @@ -4225,13 +4225,13 @@ static int iwl4965_pci_probe(struct pci_

    pci_set_master(pdev);

    - err = pci_set_dma_mask(pdev, DMA_64BIT_MASK);
    + err = pci_set_dma_mask(pdev, DMA_BIT_MASK(36));
    if (!err)
    - err = pci_set_consistent_dma_mask(pdev, DMA_64BIT_MASK);
    + err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(36));
    if (err) {
    - err = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
    + err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
    if (!err)
    - err = pci_set_consistent_dma_mask(pdev, DMA_32BIT_MASK);
    + err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));
    /* both attempts failed: */
    if (err) {
    printk(KERN_WARNING "%s: No suitable DMA available.\n",

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. [patch 16/49] JFFS2: Fix lack of locking in thread_should_wake()

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: David Woodhouse

    commit b27cf88e9592953ae292d05324887f2f44979433 upstream

    The thread_should_wake() function trawls through the list of 'very
    dirty' eraseblocks, determining whether the background GC thread should
    wake. Doing this without holding the appropriate locks is a bad idea.

    OLPC Trac #8615

    Signed-off-by: David Woodhouse
    Signed-off-by: Greg Kroah-Hartman

    ---
    fs/jffs2/background.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    --- a/fs/jffs2/background.c
    +++ b/fs/jffs2/background.c
    @@ -85,15 +85,15 @@ static int jffs2_garbage_collect_thread(
    for (; {
    allow_signal(SIGHUP);
    again:
    + spin_lock(&c->erase_completion_lock);
    if (!jffs2_thread_should_wake(c)) {
    set_current_state (TASK_INTERRUPTIBLE);
    + spin_unlock(&c->erase_completion_lock);
    D1(printk(KERN_DEBUG "jffs2_garbage_collect_thread sleeping...\n"));
    - /* Yes, there's a race here; we checked jffs2_thread_should_wake()
    - before setting current->state to TASK_INTERRUPTIBLE. But it doesn't
    - matter - We don't care if we miss a wakeup, because the GC thread
    - is only an optimisation anyway. */
    schedule();
    - }
    + } else
    + spin_unlock(&c->erase_completion_lock);
    +

    /* This thread is purely an optimisation. But if it runs when
    other things could be running, it actually makes things a

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. [patch 15/49] JFFS2: fix race condition in jffs2_lzo_compress()

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Geert Uytterhoeven

    commit dc8a0843a435b2c0891e7eaea64faaf1ebec9b11 upstream

    deflate_mutex protects the globals lzo_mem and lzo_compress_buf. However,
    jffs2_lzo_compress() unlocks deflate_mutex _before_ it has copied out the
    compressed data from lzo_compress_buf. Correct this by moving the mutex
    unlock after the copy.

    In addition, document what deflate_mutex actually protects.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Richard Purdie
    Signed-off-by: Andrew Morton
    Signed-off-by: David Woodhouse
    Signed-off-by: Greg Kroah-Hartman

    ---
    fs/jffs2/compr_lzo.c | 15 +++++++++------
    1 file changed, 9 insertions(+), 6 deletions(-)

    --- a/fs/jffs2/compr_lzo.c
    +++ b/fs/jffs2/compr_lzo.c
    @@ -19,7 +19,7 @@

    static void *lzo_mem;
    static void *lzo_compress_buf;
    -static DEFINE_MUTEX(deflate_mutex);
    +static DEFINE_MUTEX(deflate_mutex); /* for lzo_mem and lzo_compress_buf */

    static void free_workspace(void)
    {
    @@ -49,18 +49,21 @@ static int jffs2_lzo_compress(unsigned c

    mutex_lock(&deflate_mutex);
    ret = lzo1x_1_compress(data_in, *sourcelen, lzo_compress_buf, &compress_size, lzo_mem);
    - mutex_unlock(&deflate_mutex);
    -
    if (ret != LZO_E_OK)
    - return -1;
    + goto fail;

    if (compress_size > *dstlen)
    - return -1;
    + goto fail;

    memcpy(cpage_out, lzo_compress_buf, compress_size);
    - *dstlen = compress_size;
    + mutex_unlock(&deflate_mutex);

    + *dstlen = compress_size;
    return 0;
    +
    + fail:
    + mutex_unlock(&deflate_mutex);
    + return -1;
    }

    static int jffs2_lzo_decompress(unsigned char *data_in, unsigned char *cpage_out,

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  7. [patch 30/49] iwlwifi: remove HT flags from RXON when not in HT anymore

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Emmanuel Grumbach

    commit 42eb7c644afcdbcd7eac4d862046230856fbf531 upstream.

    This patch removes the HT flags from RXON when moving from HT to legacy.
    This avoids keeping those flags set and possibly miss configuring firmware.

    If we are configured in HT, fat channel: channel 1 above, and move later
    to legacy channel 11, we need to clear the FAT channel control flags in
    RXON. If we don't, the firmware will understand this as channel 11 above
    which is not possible due to regulatory constraints, leading to firmware
    crash.

    Signed-off-by: Emmanuel Grumbach
    Reviewed-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/wireless/iwlwifi/iwl-agn.c | 3 +--
    drivers/net/wireless/iwlwifi/iwl-core.c | 8 +++++++-
    2 files changed, 8 insertions(+), 3 deletions(-)

    --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
    @@ -2504,8 +2504,7 @@ static void iwl4965_post_associate(struc

    priv->staging_rxon.filter_flags |= RXON_FILTER_ASSOC_MSK;

    - if (priv->current_ht_config.is_ht)
    - iwl_set_rxon_ht(priv, &priv->current_ht_config);
    + iwl_set_rxon_ht(priv, &priv->current_ht_config);

    iwl_set_rxon_chain(priv);
    priv->staging_rxon.assoc_id = cpu_to_le16(priv->assoc_id);
    --- a/drivers/net/wireless/iwlwifi/iwl-core.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-core.c
    @@ -646,8 +646,14 @@ void iwl_set_rxon_ht(struct iwl_priv *pr
    struct iwl_rxon_cmd *rxon = &priv->staging_rxon;
    u32 val;

    - if (!ht_info->is_ht)
    + if (!ht_info->is_ht) {
    + rxon->flags &= ~(RXON_FLG_CHANNEL_MODE_MIXED_MSK |
    + RXON_FLG_CHANNEL_MODE_PURE_40_MSK |
    + RXON_FLG_CTRL_CHANNEL_LOC_HI_MSK |
    + RXON_FLG_FAT_PROT_MSK |
    + RXON_FLG_HT_PROT_MSK);
    return;
    + }

    /* Set up channel bandwidth: 20 MHz only, or 20/40 mixed if fat ok */
    if (iwl_is_fat_tx_allowed(priv, NULL))

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  8. [patch 35/49] zd1211rw: Add 2 device IDs

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Daniel Drake

    commit 0feec9dfe7b8880ab3b4c38d7cc4107dd706ea7f upstream.

    07fa/1196
    Bewan BWIFI-USB54AR: Tested by night1308, this device is a ZD1211B with
    an AL2230S radio.

    0ace/b215
    HP 802.11abg: Tested by Robert Philippe

    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/wireless/zd1211rw/zd_usb.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/net/wireless/zd1211rw/zd_usb.c
    +++ b/drivers/net/wireless/zd1211rw/zd_usb.c
    @@ -61,6 +61,7 @@ static struct usb_device_id usb_ids[] =
    { USB_DEVICE(0x0105, 0x145f), .driver_info = DEVICE_ZD1211 },
    /* ZD1211B */
    { USB_DEVICE(0x0ace, 0x1215), .driver_info = DEVICE_ZD1211B },
    + { USB_DEVICE(0x0ace, 0xb215), .driver_info = DEVICE_ZD1211B },
    { USB_DEVICE(0x157e, 0x300d), .driver_info = DEVICE_ZD1211B },
    { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B },
    { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B },
    @@ -82,6 +83,7 @@ static struct usb_device_id usb_ids[] =
    { USB_DEVICE(0x0cde, 0x001a), .driver_info = DEVICE_ZD1211B },
    { USB_DEVICE(0x0586, 0x340a), .driver_info = DEVICE_ZD1211B },
    { USB_DEVICE(0x0471, 0x1237), .driver_info = DEVICE_ZD1211B },
    + { USB_DEVICE(0x07fa, 0x1196), .driver_info = DEVICE_ZD1211B },
    /* "Driverless" devices that need ejecting */
    { USB_DEVICE(0x0ace, 0x2011), .driver_info = DEVICE_INSTALLER },
    { USB_DEVICE(0x0ace, 0x20ff), .driver_info = DEVICE_INSTALLER },

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  9. [patch 20/49] net: unix: fix inflight counting bug in garbage collector

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Miklos Szeredi

    commit 6209344f5a3795d34b7f2c0061f49802283b6bdd upstream

    Previously I assumed that the receive queues of candidates don't
    change during the GC. This is only half true, nothing can be received
    from the queues (see comment in unix_gc()), but buffers could be added
    through the other half of the socket pair, which may still have file
    descriptors referring to it.

    This can result in inc_inflight_move_tail() erronously increasing the
    "inflight" counter for a unix socket for which dec_inflight() wasn't
    previously called. This in turn can trigger the "BUG_ON(total_refs <
    inflight_refs)" in a later garbage collection run.

    Fix this by only manipulating the "inflight" counter for sockets which
    are candidates themselves. Duplicating the file references in
    unix_attach_fds() is also needed to prevent a socket becoming a
    candidate for GC while the skb that contains it is not yet queued.

    Reported-by: Andrea Bittau
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    include/net/af_unix.h | 1 +
    net/unix/af_unix.c | 31 ++++++++++++++++++++++++-------
    net/unix/garbage.c | 49 +++++++++++++++++++++++++++++++++++++------------
    3 files changed, 62 insertions(+), 19 deletions(-)

    --- a/include/net/af_unix.h
    +++ b/include/net/af_unix.h
    @@ -54,6 +54,7 @@ struct unix_sock {
    atomic_long_t inflight;
    spinlock_t lock;
    unsigned int gc_candidate : 1;
    + unsigned int gc_maybe_cycle : 1;
    wait_queue_head_t peer_wait;
    };
    #define unix_sk(__sk) ((struct unix_sock *)__sk)
    --- a/net/unix/af_unix.c
    +++ b/net/unix/af_unix.c
    @@ -1300,14 +1300,23 @@ static void unix_destruct_fds(struct sk_
    sock_wfree(skb);
    }

    -static void unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
    +static int unix_attach_fds(struct scm_cookie *scm, struct sk_buff *skb)
    {
    int i;
    +
    + /*
    + * Need to duplicate file references for the sake of garbage
    + * collection. Otherwise a socket in the fps might become a
    + * candidate for GC while the skb is not yet queued.
    + */
    + UNIXCB(skb).fp = scm_fp_dup(scm->fp);
    + if (!UNIXCB(skb).fp)
    + return -ENOMEM;
    +
    for (i=scm->fp->count-1; i>=0; i--)
    unix_inflight(scm->fp->fp[i]);
    - UNIXCB(skb).fp = scm->fp;
    skb->destructor = unix_destruct_fds;
    - scm->fp = NULL;
    + return 0;
    }

    /*
    @@ -1366,8 +1375,11 @@ static int unix_dgram_sendmsg(struct kio
    goto out;

    memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred));
    - if (siocb->scm->fp)
    - unix_attach_fds(siocb->scm, skb);
    + if (siocb->scm->fp) {
    + err = unix_attach_fds(siocb->scm, skb);
    + if (err)
    + goto out_free;
    + }
    unix_get_secdata(siocb->scm, skb);

    skb_reset_transport_header(skb);
    @@ -1536,8 +1548,13 @@ static int unix_stream_sendmsg(struct ki
    size = min_t(int, size, skb_tailroom(skb));

    memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred));
    - if (siocb->scm->fp)
    - unix_attach_fds(siocb->scm, skb);
    + if (siocb->scm->fp) {
    + err = unix_attach_fds(siocb->scm, skb);
    + if (err) {
    + kfree_skb(skb);
    + goto out_err;
    + }
    + }

    if ((err = memcpy_fromiovec(skb_put(skb,size), msg->msg_iov, size)) != 0) {
    kfree_skb(skb);
    --- a/net/unix/garbage.c
    +++ b/net/unix/garbage.c
    @@ -186,8 +186,17 @@ static void scan_inflight(struct sock *x
    */
    struct sock *sk = unix_get_socket(*fp++);
    if (sk) {
    - hit = true;
    - func(unix_sk(sk));
    + struct unix_sock *u = unix_sk(sk);
    +
    + /*
    + * Ignore non-candidates, they could
    + * have been added to the queues after
    + * starting the garbage collection
    + */
    + if (u->gc_candidate) {
    + hit = true;
    + func(u);
    + }
    }
    }
    if (hit && hitlist != NULL) {
    @@ -249,11 +258,11 @@ static void inc_inflight_move_tail(struc
    {
    atomic_long_inc(&u->inflight);
    /*
    - * If this is still a candidate, move it to the end of the
    - * list, so that it's checked even if it was already passed
    - * over
    + * If this still might be part of a cycle, move it to the end
    + * of the list, so that it's checked even if it was already
    + * passed over
    */
    - if (u->gc_candidate)
    + if (u->gc_maybe_cycle)
    list_move_tail(&u->link, &gc_candidates);
    }

    @@ -267,6 +276,7 @@ void unix_gc(void)
    struct unix_sock *next;
    struct sk_buff_head hitlist;
    struct list_head cursor;
    + LIST_HEAD(not_cycle_list);

    spin_lock(&unix_gc_lock);

    @@ -282,10 +292,14 @@ void unix_gc(void)
    *
    * Holding unix_gc_lock will protect these candidates from
    * being detached, and hence from gaining an external
    - * reference. This also means, that since there are no
    - * possible receivers, the receive queues of these sockets are
    - * static during the GC, even though the dequeue is done
    - * before the detach without atomicity guarantees.
    + * reference. Since there are no possible receivers, all
    + * buffers currently on the candidates' queues stay there
    + * during the garbage collection.
    + *
    + * We also know that no new candidate can be added onto the
    + * receive queues. Other, non candidate sockets _can_ be
    + * added to queue, so we must make sure only to touch
    + * candidates.
    */
    list_for_each_entry_safe(u, next, &gc_inflight_list, link) {
    long total_refs;
    @@ -299,6 +313,7 @@ void unix_gc(void)
    if (total_refs == inflight_refs) {
    list_move_tail(&u->link, &gc_candidates);
    u->gc_candidate = 1;
    + u->gc_maybe_cycle = 1;
    }
    }

    @@ -325,14 +340,24 @@ void unix_gc(void)
    list_move(&cursor, &u->link);

    if (atomic_long_read(&u->inflight) > 0) {
    - list_move_tail(&u->link, &gc_inflight_list);
    - u->gc_candidate = 0;
    + list_move_tail(&u->link, &not_cycle_list);
    + u->gc_maybe_cycle = 0;
    scan_children(&u->sk, inc_inflight_move_tail, NULL);
    }
    }
    list_del(&cursor);

    /*
    + * not_cycle_list contains those sockets which do not make up a
    + * cycle. Restore these to the inflight list.
    + */
    + while (!list_empty(&not_cycle_list)) {
    + u = list_entry(not_cycle_list.next, struct unix_sock, link);
    + u->gc_candidate = 0;
    + list_move_tail(&u->link, &gc_inflight_list);
    + }
    +
    + /*
    * Now gc_candidates contains only garbage. Restore original
    * inflight counters for these as well, and remove the skbuffs
    * which are creating the cycle(s).

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  10. [patch 17/49] ARM: xsc3: fix xsc3_l2_inv_range


    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Dan Williams

    commit c7cf72dcadbe39c2077b32460f86c9f8167be3be upstream

    When 'start' and 'end' are less than a cacheline apart and 'start' is
    unaligned we are done after cleaning and invalidating the first
    cacheline. So check for (start < end) which will not walk off into
    invalid address ranges when (start > end).

    This issue was caught by drivers/dma/dmatest.

    2.6.27 is susceptible.

    Cc:
    Cc: Haavard Skinnemoen
    Cc: Lothar Wafmann
    Cc: Lennert Buytenhek
    Cc: Eric Miao
    Signed-off-by: Dan Williams
    Signed-off-by: Greg Kroah-Hartman

    ---
    arch/arm/mm/cache-xsc3l2.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/arch/arm/mm/cache-xsc3l2.c
    +++ b/arch/arm/mm/cache-xsc3l2.c
    @@ -97,7 +97,7 @@ static void xsc3_l2_inv_range(unsigned l
    /*
    * Clean and invalidate partial last cache line.
    */
    - if (end & (CACHE_LINE_SIZE - 1)) {
    + if (start < end && (end & (CACHE_LINE_SIZE - 1))) {
    xsc3_l2_clean_pa(end & ~(CACHE_LINE_SIZE - 1));
    xsc3_l2_inv_pa(end & ~(CACHE_LINE_SIZE - 1));
    end &= ~(CACHE_LINE_SIZE - 1);
    @@ -106,7 +106,7 @@ static void xsc3_l2_inv_range(unsigned l
    /*
    * Invalidate all full cache lines between 'start' and 'end'.
    */
    - while (start != end) {
    + while (start < end) {
    xsc3_l2_inv_pa(start);
    start += CACHE_LINE_SIZE;
    }

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  11. [patch 31/49] iwlwifi: dont fail if scan is issued too early

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Tomas Winkler

    commit 8d09a5e1c36d0dec5728e6c8b0bb5412de09b27b upstream

    This patch returns success and empty scan on scans requests that were
    rejected because issued too early. The cached bss list from previous
    scanning will be returned by mac80211.

    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/wireless/iwlwifi/iwl-agn.c | 12 +++++++++---
    drivers/net/wireless/iwlwifi/iwl-scan.c | 8 +-------
    2 files changed, 10 insertions(+), 10 deletions(-)

    --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
    @@ -3213,20 +3213,26 @@ static int iwl4965_mac_hw_scan(struct ie
    goto out_unlock;
    }

    - /* we don't schedule scan within next_scan_jiffies period */
    + /* We don't schedule scan within next_scan_jiffies period.
    + * Avoid scanning during possible EAPOL exchange, return
    + * success immediately.
    + */
    if (priv->next_scan_jiffies &&
    time_after(priv->next_scan_jiffies, jiffies)) {
    IWL_DEBUG_SCAN("scan rejected: within next scan period\n");
    - rc = -EAGAIN;
    + queue_work(priv->workqueue, &priv->scan_completed);
    + rc = 0;
    goto out_unlock;
    }
    /* if we just finished scan ask for delay */
    if (iwl_is_associated(priv) && priv->last_scan_jiffies &&
    time_after(priv->last_scan_jiffies + IWL_DELAY_NEXT_SCAN, jiffies)) {
    IWL_DEBUG_SCAN("scan rejected: within previous scan period\n");
    - rc = -EAGAIN;
    + queue_work(priv->workqueue, &priv->scan_completed);
    + rc = 0;
    goto out_unlock;
    }
    +
    if (len) {
    IWL_DEBUG_SCAN("direct scan for %s [%d]\n ",
    iwl_escape_essid(ssid, len), (int)len);
    --- a/drivers/net/wireless/iwlwifi/iwl-scan.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c
    @@ -464,11 +464,6 @@ void iwl_init_scan_params(struct iwl_pri

    int iwl_scan_initiate(struct iwl_priv *priv)
    {
    - if (priv->iw_mode == IEEE80211_IF_TYPE_AP) {
    - IWL_ERROR("APs don't scan.\n");
    - return 0;
    - }
    -
    if (!iwl_is_ready_rf(priv)) {
    IWL_DEBUG_SCAN("Aborting scan due to not ready.\n");
    return -EIO;
    @@ -480,8 +475,7 @@ int iwl_scan_initiate(struct iwl_priv *p
    }

    if (test_bit(STATUS_SCAN_ABORTING, &priv->status)) {
    - IWL_DEBUG_SCAN("Scan request while abort pending. "
    - "Queuing.\n");
    + IWL_DEBUG_SCAN("Scan request while abort pending\n");
    return -EAGAIN;
    }


    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  12. [patch 19/49] x86: dont use tsc_khz to calculate lpj if notsc is passed

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Alok Kataria

    commit 70de9a97049e0ba79dc040868564408d5ce697f9 upstream

    Impact: fix udelay when "notsc" boot parameter is passed

    With notsc passed on commandline, tsc may not be used for
    udelays, make sure that we do not use tsc_khz to calculate
    the lpj value in such cases.

    Reported-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Alok N Kataria
    Signed-off-by: Ingo Molnar
    Signed-off-by: Greg Kroah-Hartman

    ---
    arch/x86/kernel/tsc.c | 8 ++++----
    1 file changed, 4 insertions(+), 4 deletions(-)

    --- a/arch/x86/kernel/tsc.c
    +++ b/arch/x86/kernel/tsc.c
    @@ -639,10 +639,6 @@ void __init tsc_init(void)
    cpu_khz = calibrate_cpu();
    #endif

    - lpj = ((u64)tsc_khz * 1000);
    - do_div(lpj, HZ);
    - lpj_fine = lpj;
    -
    printk("Detected %lu.%03lu MHz processor.\n",
    (unsigned long)cpu_khz / 1000,
    (unsigned long)cpu_khz % 1000);
    @@ -662,6 +658,10 @@ void __init tsc_init(void)
    /* now allow native_sched_clock() to use rdtsc */
    tsc_disabled = 0;

    + lpj = ((u64)tsc_khz * 1000);
    + do_div(lpj, HZ);
    + lpj_fine = lpj;
    +
    use_tsc_delay();
    /* Check and install the TSC clocksource */
    dmi_check_system(bad_tsc_dmi_table);

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  13. [patch 23/49] r8169: wake up the PHY of the 8168

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Francois Romieu

    Upstream as a2de6b89b74b28052e293fdb39975a5a03c432e0

    This is typically needed when some other OS puts the PHY
    to sleep due to the disabling of WOL options in the BIOS
    of the system.

    Signed-off-by: Francois Romieu
    Tested-by: Chiaki Ishikawa
    Cc: Edward Hsu
    Cc: RyanKao
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/r8169.c | 10 +++++++---
    1 file changed, 7 insertions(+), 3 deletions(-)

    --- a/drivers/net/r8169.c
    +++ b/drivers/net/r8169.c
    @@ -740,9 +740,13 @@ static int rtl8169_set_speed_xmii(struct

    auto_nego |= ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM;

    - if ((tp->mac_version == RTL_GIGA_MAC_VER_12) ||
    - (tp->mac_version == RTL_GIGA_MAC_VER_17)) {
    - /* Vendor specific (0x1f) and reserved (0x0e) MII registers. */
    + if ((tp->mac_version == RTL_GIGA_MAC_VER_11) ||
    + (tp->mac_version == RTL_GIGA_MAC_VER_12) ||
    + (tp->mac_version >= RTL_GIGA_MAC_VER_17)) {
    + /*
    + * Wake up the PHY.
    + * Vendor specific (0x1f) and reserved (0x0e) MII registers.
    + */
    mdio_write(ioaddr, 0x1f, 0x0000);
    mdio_write(ioaddr, 0x0e, 0x0000);
    }

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  14. [patch 25/49] I/OAT: fix dma_pin_iovec_pages() error handling

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Maciej Sosnowski

    commit c2c0b4c5434c0a25f7f7796b29155d53805909f5 upstream

    Error handling needs to be modified in dma_pin_iovec_pages().
    It should return NULL instead of ERR_PTR
    (pinned_list is checked for NULL in tcp_recvmsg() to determine
    if iovec pages have been successfully pinned down).
    In case of error for the first iovec,
    local_list->nr_iovecs needs to be initialized.

    Signed-off-by: Maciej Sosnowski
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/dma/iovlock.c | 17 ++++++-----------
    1 file changed, 6 insertions(+), 11 deletions(-)

    --- a/drivers/dma/iovlock.c
    +++ b/drivers/dma/iovlock.c
    @@ -55,7 +55,6 @@ struct dma_pinned_list *dma_pin_iovec_pa
    int nr_iovecs = 0;
    int iovec_len_used = 0;
    int iovec_pages_used = 0;
    - long err;

    /* don't pin down non-user-based iovecs */
    if (segment_eq(get_fs(), KERNEL_DS))
    @@ -72,23 +71,21 @@ struct dma_pinned_list *dma_pin_iovec_pa
    local_list = kmalloc(sizeof(*local_list)
    + (nr_iovecs * sizeof (struct dma_page_list))
    + (iovec_pages_used * sizeof (struct page*)), GFP_KERNEL);
    - if (!local_list) {
    - err = -ENOMEM;
    + if (!local_list)
    goto out;
    - }

    /* list of pages starts right after the page list array */
    pages = (struct page **) &local_list->page_list[nr_iovecs];

    + local_list->nr_iovecs = 0;
    +
    for (i = 0; i < nr_iovecs; i++) {
    struct dma_page_list *page_list = &local_list->page_list[i];

    len -= iov[i].iov_len;

    - if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len)) {
    - err = -EFAULT;
    + if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len))
    goto unpin;
    - }

    page_list->nr_pages = num_pages_spanned(&iov[i]);
    page_list->base_address = iov[i].iov_base;
    @@ -109,10 +106,8 @@ struct dma_pinned_list *dma_pin_iovec_pa
    NULL);
    up_read(&current->mm->mmap_sem);

    - if (ret != page_list->nr_pages) {
    - err = -ENOMEM;
    + if (ret != page_list->nr_pages)
    goto unpin;
    - }

    local_list->nr_iovecs = i + 1;
    }
    @@ -122,7 +117,7 @@ struct dma_pinned_list *dma_pin_iovec_pa
    unpin:
    dma_unpin_iovec_pages(local_list);
    out:
    - return ERR_PTR(err);
    + return NULL;
    }

    void dma_unpin_iovec_pages(struct dma_pinned_list *pinned_list)

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  15. [patch 27/49] dca: fixup initialization dependency

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Dan Williams

    commit 1207e795568a368928dfd23d6817e47f2e8097e3 upstream

    Mark dca_init as a subsys_initcall since it needs to be ready to go
    before dependent drivers start registering themselves.

    Reported-and-tested-by: Mark Rustad
    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams
    Signed-off-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/dca/dca-core.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/dca/dca-core.c
    +++ b/drivers/dca/dca-core.c
    @@ -270,6 +270,6 @@ static void __exit dca_exit(void)
    dca_sysfs_exit();
    }

    -module_init(dca_init);
    +subsys_initcall(dca_init);
    module_exit(dca_exit);


    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  16. [patch 28/49] iwlwifi: allow consecutive scans in unassociated state

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Ron Rindjunsky

    commit 681c0050ea3ac2e90c83d5af397d73eed848a372 upstream

    This patch allows consecutive scans requests when driver is in
    unassociated state.

    Signed-off-by: Ron Rindjunsky
    Signed-off-by: Esti Kummer
    Signed-off-by: Tomas Winkler
    Signed-off-by: Zhu Yi
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/wireless/iwlwifi/iwl-agn.c | 8 +++++---
    1 file changed, 5 insertions(+), 3 deletions(-)

    --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
    @@ -3214,13 +3214,15 @@ static int iwl4965_mac_hw_scan(struct ie

    /* we don't schedule scan within next_scan_jiffies period */
    if (priv->next_scan_jiffies &&
    - time_after(priv->next_scan_jiffies, jiffies)) {
    + time_after(priv->next_scan_jiffies, jiffies)) {
    + IWL_DEBUG_SCAN("scan rejected: within next scan period\n");
    rc = -EAGAIN;
    goto out_unlock;
    }
    /* if we just finished scan ask for delay */
    - if (priv->last_scan_jiffies && time_after(priv->last_scan_jiffies +
    - IWL_DELAY_NEXT_SCAN, jiffies)) {
    + if (iwl_is_associated(priv) && priv->last_scan_jiffies &&
    + time_after(priv->last_scan_jiffies + IWL_DELAY_NEXT_SCAN, jiffies)) {
    + IWL_DEBUG_SCAN("scan rejected: within previous scan period\n");
    rc = -EAGAIN;
    goto out_unlock;
    }

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  17. [patch 12/49] cciss: new hardware support

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Mike Miller

    commit 77ca7286d10b798e4907af941f29672bf484db77 upstream

    cciss: new hardware support

    Add support for 2 new SAS/SATA controllers.

    Signed-off-by: Mike Miller
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    Documentation/cciss.txt | 2 ++
    drivers/block/cciss.c | 4 ++++
    2 files changed, 6 insertions(+)

    --- a/Documentation/cciss.txt
    +++ b/Documentation/cciss.txt
    @@ -26,6 +26,8 @@ This driver is known to work with the fo
    * SA P410i
    * SA P411
    * SA P812
    + * SA P712m
    + * SA P711m

    Detecting drive failures:
    -------------------------
    --- a/drivers/block/cciss.c
    +++ b/drivers/block/cciss.c
    @@ -96,6 +96,8 @@ static const struct pci_device_id cciss_
    {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3245},
    {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3247},
    {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x3249},
    + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x324A},
    + {PCI_VENDOR_ID_HP, PCI_DEVICE_ID_HP_CISSE, 0x103C, 0x324B},
    {PCI_VENDOR_ID_HP, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID,
    PCI_CLASS_STORAGE_RAID << 8, 0xffff << 8, 0},
    {0,}
    @@ -133,6 +135,8 @@ static struct board_type products[] = {
    {0x3245103C, "Smart Array P410i", &SA5_access},
    {0x3247103C, "Smart Array P411", &SA5_access},
    {0x3249103C, "Smart Array P812", &SA5_access},
    + {0x324A103C, "Smart Array P712m", &SA5_access},
    + {0x324B103C, "Smart Array P711m", &SA5_access},
    {0xFFFF103C, "Unknown Smart Array", &SA5_access},
    };


    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  18. [patch 11/49] cciss: fix sysfs broken symlink regression

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Mike Miller

    commit 404443081ce5e6f68b5f7eda16c959835ff200c0 upstream

    Regression introduced by commit 6ae5ce8e8d4de666f31286808d2285aa6a50fa40
    ("cciss: remove redundant code").

    This patch fixes a broken symlink in sysfs that was introduced by the
    above commit. We broke it in 2.6.27-rc on or about 20080804. Some
    installers are broken if this symlink does not exist and they may not
    detect the logical drives configured on the controller. It does not
    require being backported into 2.6.26.x or earlier kernels.

    Signed-off-by: Mike Miller
    Cc: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/block/cciss.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/drivers/block/cciss.c
    +++ b/drivers/block/cciss.c
    @@ -1365,6 +1365,7 @@ static void cciss_add_disk(ctlr_info_t *
    disk->first_minor = drv_index << NWD_SHIFT;
    disk->fops = &cciss_fops;
    disk->private_data = &h->drv[drv_index];
    + disk->driverfs_dev = &h->pdev->dev;

    /* Set up queue information */
    blk_queue_bounce_limit(disk->queue, h->pdev->dma_mask);

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  19. [patch 33/49] iwlwifi: fix suspend to RAM in iwlwifi

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Tomas Winkler

    commit 10d0bd56966571d0324dfd9bbb8aa913a60bef5f upstream

    This patch fixes suspend to RAM after by moving
    notify_mac out of iwlwifi mutex

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

    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Tomas Winkler
    Tested-by: Carlos R. Mafra
    Tested-by: Christian Borntraeger
    Cc: Rafael J. Wysocki
    Signed-off-by: John W. Linville
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/net/wireless/iwlwifi/iwl-agn.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/net/wireless/iwlwifi/iwl-agn.c
    +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
    @@ -2090,7 +2090,6 @@ static void iwl_alive_start(struct iwl_p
    iwl4965_error_recovery(priv);

    iwl_power_update_mode(priv, 1);
    - ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);

    if (test_and_clear_bit(STATUS_MODE_PENDING, &priv->status))
    iwl4965_set_mode(priv, priv->iw_mode);
    @@ -2342,6 +2341,7 @@ static void iwl_bg_alive_start(struct wo
    mutex_lock(&priv->mutex);
    iwl_alive_start(priv);
    mutex_unlock(&priv->mutex);
    + ieee80211_notify_mac(priv->hw, IEEE80211_NOTIFY_RE_ASSOC);
    }

    static void iwl4965_bg_rf_kill(struct work_struct *work)

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  20. [patch 14/49] md: fix bug in raid10 recovery.

    2.6.27-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Neil Brown

    commit a53a6c85756339f82ff19e001e90cfba2d6299a8 upstream

    Adding a spare to a raid10 doesn't cause recovery to start.
    This is due to an silly type in
    commit 6c2fce2ef6b4821c21b5c42c7207cb9cf8c87eda
    and so is a bug in 2.6.27 and .28-rc.

    Thanks to Thomas Backlund for bisecting to find this.

    Cc: Thomas Backlund
    Cc: George Spelvin
    Signed-off-by: NeilBrown
    Signed-off-by: Greg Kroah-Hartman

    ---
    drivers/md/raid10.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- a/drivers/md/raid10.c
    +++ b/drivers/md/raid10.c
    @@ -1132,7 +1132,7 @@ static int raid10_add_disk(mddev_t *mdde
    if (!enough(conf))
    return -EINVAL;

    - if (rdev->raid_disk)
    + if (rdev->raid_disk >= 0)
    first = last = rdev->raid_disk;

    if (rdev->saved_raid_disk >= 0 &&

    --
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread
Page 1 of 3 1 2 3 LastLast