[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkda4pVotd9Fc2Qn0Ae=89sZR7-rXDiZ7OdHE3eDvO=049Q@mail.gmail.com>
Date: Wed, 6 Mar 2024 09:03:45 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Dominique Martinet <asmadeus@...ewreck.org>
Cc: Ulf Hansson <ulf.hansson@...aro.org>, Jorge Ramirez-Ortiz <jorge@...ndries.io>,
linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org,
Dominique Martinet <dominique.martinet@...ark-techno.com>, stable@...r.kernel.org
Subject: Re: [PATCH] mmc: part_switch: fixes switch on gp3 partition
On Wed, Mar 6, 2024 at 2:45 AM Dominique Martinet
<asmadeus@...ewreck.org> wrote:
> From: Dominique Martinet <dominique.martinet@...ark-techno.com>
>
> Commit e7794c14fd73 ("mmc: rpmb: fixes pause retune on all RPMB
> partitions.") added a mask check for 'part_type', but the mask used was
> wrong leading to the code intended for rpmb also being executed for GP3.
>
> On some MMCs (but not all) this would make gp3 partition inaccessible:
> armadillo:~# head -c 1 < /dev/mmcblk2gp3
> head: standard input: I/O error
> armadillo:~# dmesg -c
> [ 422.976583] mmc2: running CQE recovery
> [ 423.058182] mmc2: running CQE recovery
> [ 423.137607] mmc2: running CQE recovery
> [ 423.137802] blk_update_request: I/O error, dev mmcblk2gp3, sector 0 op 0x0:(READ) flags 0x80700 phys_seg 4 prio class 0
> [ 423.237125] mmc2: running CQE recovery
> [ 423.318206] mmc2: running CQE recovery
> [ 423.397680] mmc2: running CQE recovery
> [ 423.397837] blk_update_request: I/O error, dev mmcblk2gp3, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
> [ 423.408287] Buffer I/O error on dev mmcblk2gp3, logical block 0, async page read
>
> the part_type values of interest here are defined as follow:
> main 0
> boot0 1
> boot1 2
> rpmb 3
> gp0 4
> gp1 5
> gp2 6
> gp3 7
>
> so mask with EXT_CSD_PART_CONFIG_ACC_MASK (7) to correctly identify rpmb
>
> Fixes: e7794c14fd73 ("mmc: rpmb: fixes pause retune on all RPMB partitions.")
> Cc: stable@...r.kernel.org
> Cc: Jorge Ramirez-Ortiz <jorge@...ndries.io>
> Signed-off-by: Dominique Martinet <dominique.martinet@...ark-techno.com>
The patch:
Reviewed-by: Linus Walleij <linus.walleij@...aro.org>
> A couple of notes:
> - this doesn't fail on all eMMCs, I can still access gp3 on some models
> but it seems to fail reliably with micron's "G1M15L"
> - I've encountered this on the 5.10 backport (in 5.10.208), so that'll
> need to be backported everywhere the fix was taken...
Which device is this?
I have never seen an eMMC using the GP:s in my life.
Or did you create the GP manually?
Yours,
Linus Walleij
Powered by blists - more mailing lists