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?
@@ -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~