On 09/08/2016 03:45 AM, Luis R. Rodriguez wrote:
On Wed, Sep 07, 2016 at 10:45:07AM +0200, Daniel Wagner wrote:
From: Daniel Wagner <[email protected]>

We track the state of the loading with bit ops. Since the state machine
has only a couple of states and there are only a few simple state
transition

And they are all mutually exclusive ?

Yes, I'll updated the commit message


we can model this simplify.

           UNKNOWN -> LOADING -> DONE | ABORTED

So why unsigned long ? Why not a u8?

No reason, only a leftover. Changed it to u8.

        return ret;
@@ -138,13 +140,11 @@ static int fw_status_wait_timeout(struct fw_status 
*fw_st, long timeout)
 static void __fw_status_set(struct fw_status *fw_st,
                          unsigned long status)
 {
-       set_bit(status, &fw_st->status);
+       WRITE_ONCE(fw_st->status, status);

        if (status == FW_STATUS_DONE ||
-                       status == FW_STATUS_ABORTED) {
-               clear_bit(FW_STATUS_LOADING, &fw_st->status);
+                       status == FW_STATUS_ABORTED)
                complete_all(&fw_st->completion);
-       }
 }

 #define fw_status_start(fw_st)                                 \

See if all the above were prefixed with fw_umh or something like it
it would make this easier to read and tell this is all umh related.

Changed the prefix to fm_umh. Looks much better.

cheers,
daniel

Reply via email to