lkml.org 
[lkml]   [2010]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /

    On Sat, 30 Jan 2010, Maxim Levitsky wrote:

    > This patch adds tracking for open and close calls.
    > Now trans ->open and ->release are never called twise in a row
    > ->release is also called once before mtd device disappers
    > ...

    > --- a/drivers/mtd/mtd_blkdevs.c
    > +++ b/drivers/mtd/mtd_blkdevs.c
    > @@ -128,6 +128,9 @@ static int blktrans_open(struct block_device *bde=
    v, fmode_t mode)
    > if (!get_mtd_device(NULL, dev->mtd->index))
    > goto out;
    >
    > + if (dev->open++)
    > + goto out;
    > +
    > if (!try_module_get(tr->owner))
    > goto out_tr;
    >
    > @@ -153,6 +156,10 @@ static int blktrans_release(struct gendisk *disk=
    , fmode_t mode)
    > struct mtd_blktrans_ops *tr =3D dev->tr;
    > int ret =3D 0;
    >
    > + dev->open--;
    > + if (dev->open)
    > + return 0;
    > +

    Just a very minor quibble: if you use if (dev->open++) in one function,=
    =20
    why not use if (--dev->open) in the other? Or separate the=20
    increment/decrement from the test, depending on you style preferences.
    /Ricard
    --=20
    Ricard Wolf Wanderl=F6f ricardw(at)axis.com
    Axis Communications AB, Lund, Sweden www.axis.com
    Phone +46 46 272 2016 Fax +46 46 13 61 30
    --
    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/

    \
     
     \ /
      Last update: 2010-02-01 09:02    [from the cache]
    ©2003-2011 Jasper Spaans