lkml.org 
[lkml]   [2007]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 22/36] ATM: initialize lock and tasklet earlier

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

    ------------------
    From: chas williams <chas@cmf.nrl.navy.mil>

    [ATM]: [he] initialize lock and tasklet earlier

    [ Upstream commit: 8a8037ac9dbe4eb20ce50aa20244faf77444f4a3 ]

    if you are lucky (unlucky?) enough to have shared interrupts, the
    interrupt handler can be called before the tasklet and lock are ready
    for use.

    Signed-off-by: chas williams <chas@cmf.nrl.navy.mil>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: David Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/atm/he.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    --- a/drivers/atm/he.c
    +++ b/drivers/atm/he.c
    @@ -394,6 +394,11 @@ he_init_one(struct pci_dev *pci_dev, con
    he_dev->atm_dev->dev_data = he_dev;
    atm_dev->dev_data = he_dev;
    he_dev->number = atm_dev->number;
    +#ifdef USE_TASKLET
    + tasklet_init(&he_dev->tasklet, he_tasklet, (unsigned long) he_dev);
    +#endif
    + spin_lock_init(&he_dev->global_lock);
    +
    if (he_start(atm_dev)) {
    he_stop(he_dev);
    err = -ENODEV;
    @@ -1173,11 +1178,6 @@ he_start(struct atm_dev *dev)
    if ((err = he_init_irq(he_dev)) != 0)
    return err;

    -#ifdef USE_TASKLET
    - tasklet_init(&he_dev->tasklet, he_tasklet, (unsigned long) he_dev);
    -#endif
    - spin_lock_init(&he_dev->global_lock);
    -
    /* 4.11 enable pci bus controller state machines */
    host_cntl |= (OUTFF_ENB | CMDFF_ENB |
    QUICK_RD_RETRY | QUICK_WR_RETRY | PERR_INT_ENB);
    --


    \
     
     \ /
      Last update: 2007-12-13 07:47    [W:0.023 / U:31.944 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site