]> sigrok.org Git - libsigrok.git/commitdiff
sysclk-lwla: Widen constant to 64 bit before shifting
authorDaniel Elstner <redacted>
Sat, 31 Jan 2015 20:04:14 +0000 (21:04 +0100)
committerDaniel Elstner <redacted>
Sat, 31 Jan 2015 20:09:01 +0000 (21:09 +0100)
(lwla_convert_trigger): Fix trigger mask computation bug introduced
by recent change:  Widen constant to 64 bit before shifting so that
channel nunmbers beyond 32 are processed correctly.

src/hardware/sysclk-lwla/protocol.c

index f1ae8b3d5d1fe1c1b146fa5d41ddb3eeb0f7ad50..ce922374e845b6f5d419c7c1b4cd1f37f77c3d84 100644 (file)
@@ -279,7 +279,7 @@ static void issue_read_end(const struct sr_dev_inst *sdi)
                devc->state = STATE_READ_END;
 }
 
-/* Decode an incoming reponse to a buffer fill level request and act on it
+/* Decode an incoming response to a buffer fill level request and act on it
  * as appropriate.  Note that this function changes the device context state.
  */
 static void process_capture_length(const struct sr_dev_inst *sdi)
@@ -768,7 +768,7 @@ SR_PRIV int lwla_convert_trigger(const struct sr_dev_inst *sdi)
                        if (!match->channel->enabled)
                                /* Ignore disabled channels with a trigger. */
                                continue;
-                       channel_index = 1 << match->channel->index;
+                       channel_index = (uint64_t)1 << match->channel->index;
                        devc->trigger_mask |= channel_index;
                        switch (match->match) {
                        case SR_TRIGGER_ONE: