On 1/8/25 09:19, Richard Henderson wrote:
On 8/1/25 07:27, Philippe Mathieu-Daudé wrote:
@@ -746,6 +761,10 @@ static size_t sd_response_r3_make(SDState *sd,
uint8_t *response, size_t respsz)
{
size_t rsplen = 4;
+ if (sd_is_spi(sd)) {
+ rsplen += sd_response_r1_make(sd, response, respsz);
+ response++;
+ }
assert(respsz >= rsplen);
Incrementing response, but not decrementing rsplen?
Missed return?
In SPI mode a R1 response is prepended. I'll add a comment.
@@ -771,6 +790,10 @@ static size_t sd_response_r7_make(SDState *sd,
uint8_t *response, size_t respsz)
{
size_t rsplen = 4;
+ if (sd_is_spi(sd)) {
+ rsplen += sd_response_r1_make(sd, response, respsz);
+ response++;
+ }
assert(respsz >= rsplen);
Likewise.
r~