lkml.org 
[lkml]   [2009]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 3/7] ark3116: (3rd try) Replace cmget
    From
    2009/10/25 Oliver Neukum <oliver@neukum.org>:
    > Am Sonntag, 25. Oktober 2009 18:51:00 schrieb bart.hartgers@gmail.com:
    >> +       /* read modem status */
    >> +       unsigned status = atomic_read(&priv->msr);
    >> +       /* modem control is output */
    >> +       unsigned ctrl = atomic_read(&priv->mcr);
    >
    > What is the sense of having two atomic variables?
    > You can get races where one is changed but the other is not.
    >
    >        Regards
    >                Oliver
    >
    >

    Hi Oliver,

    I don't think so. The two values are not really related.

    These are two separate things: mcr (modem control reg) is ultimately
    changed by whatever has the serial port open, msr (modem status
    register) represents the status of the handshaking lines, and is
    changed (via the interrupt urb callback) by hardware.

    Groeten,
    Bart

    --
    Bart Hartgers - New e-mail: bart.hartgers@gmail.com
    --
    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: 2009-10-25 20:59    [W:0.026 / U:0.176 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site