> +        if (!(s->dcr & DCR_WR) && (s->datacnt > 0)) {
> +            ret = sd_read_data(s->card)
> +                | sd_read_data(s->card) << 8
> +                | sd_read_data(s->card) << 16
> +                | sd_read_data(s->card) << 24;
> +            s->datacnt -= 4;
> +            if (s->datacnt <= 0) {
> +                s->status |= STR_DAT_END;
> +            }

This will fail if datacnt is not a multiple of 4.

Paul

Reply via email to