[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openocd-development
Subject:    [OpenOCD-devel] [PATCH]: 8da72ed drivers/jlink: fix check for max prescaler
From:       gerrit () openocd ! org (gerrit)
Date:       2020-10-31 14:12:35
Message-ID: 20201031141235.D80AF4A03AE () mail ! openocd ! org
[Download RAW message or body]

This is an automated email from Gerrit.

Antonio Borneo (borneo.antonio@gmail.com) just uploaded a new patch set to Gerrit, \
which you can find at http://openocd.zylin.com/5907

-- gerrit

commit 8da72edc69905f735e7db435ad6fcc5e4f0fe550
Author: Antonio Borneo <borneo.antonio@gmail.com>
Date:   Sat Oct 31 14:49:23 2020 +0100

    drivers/jlink: fix check for max prescaler
    
    The value stored in TPIU ACPR is the prescaler value decremented
    by one. Thus, the test should verify that prescaler does not
    exceed the maximum ACPR value plus one. Also, zero value is not
    allowed for prescaler.
    
    Change-Id: I1817f04f2a310b2f413bad726f0cb9dd6a4172e2
    Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>

diff --git a/src/jtag/drivers/jlink.c b/src/jtag/drivers/jlink.c
index ae8ce49..b915707 100644
--- a/src/jtag/drivers/jlink.c
+++ b/src/jtag/drivers/jlink.c
@@ -1270,7 +1270,7 @@ static bool calculate_swo_prescaler(unsigned int \
traceclkin_freq,  uint32_t trace_freq, uint16_t *prescaler)
 {
 	unsigned int presc = (traceclkin_freq + trace_freq / 2) / trace_freq;
-	if (presc > TPIU_ACPR_MAX_SWOSCALER)
+	if (presc == 0 || presc > TPIU_ACPR_MAX_SWOSCALER + 1)
 		return false;
 
 	/* Probe's UART speed must be within 3% of the TPIU's SWO baud rate. */
@@ -1296,7 +1296,7 @@ static bool detect_swo_freq_and_prescaler(struct \
                jaylink_swo_speed speed,
 		*trace_freq = speed.freq / divider;
 		presc = ((1.0 - SWO_MAX_FREQ_DEV) * traceclkin_freq) / *trace_freq + 1;
 
-		if (presc > TPIU_ACPR_MAX_SWOSCALER)
+		if (presc > TPIU_ACPR_MAX_SWOSCALER + 1)
 			break;
 
 		deviation = fabs(1.0 - ((double)*trace_freq * presc / traceclkin_freq));

-- 


_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic