Commit c91e140
scsi: mpi3mr: Serialize admin queue BAR writes on 32-bit systems
On 32-bit systems, 64-bit BAR writes to admin queue registers are
performed as two 32-bit writes. Without locking, this can cause partial
writes when accessed concurrently.
Updated per-queue spinlocks is used to serialize these writes and prevent
race conditions.
Fixes: 824a156 ("scsi: mpi3mr: Base driver code")
Cc: stable@vger.kernel.org
Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com>
Link: https://lore.kernel.org/r/20250627194539.48851-4-ranjan.kumar@broadcom.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>1 parent 6853885 commit c91e140
3 files changed
Lines changed: 17 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1137 | 1137 | | |
1138 | 1138 | | |
1139 | 1139 | | |
| 1140 | + | |
| 1141 | + | |
1140 | 1142 | | |
1141 | 1143 | | |
1142 | 1144 | | |
| |||
1339 | 1341 | | |
1340 | 1342 | | |
1341 | 1343 | | |
| 1344 | + | |
| 1345 | + | |
1342 | 1346 | | |
1343 | 1347 | | |
1344 | 1348 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
26 | | - | |
| 26 | + | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | | - | |
| 32 | + | |
| 33 | + | |
32 | 34 | | |
33 | 35 | | |
| 36 | + | |
34 | 37 | | |
| 38 | + | |
35 | 39 | | |
36 | 40 | | |
| 41 | + | |
37 | 42 | | |
38 | 43 | | |
39 | 44 | | |
| |||
2954 | 2959 | | |
2955 | 2960 | | |
2956 | 2961 | | |
2957 | | - | |
| 2962 | + | |
| 2963 | + | |
2958 | 2964 | | |
2959 | | - | |
| 2965 | + | |
| 2966 | + | |
2960 | 2967 | | |
2961 | 2968 | | |
2962 | 2969 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5365 | 5365 | | |
5366 | 5366 | | |
5367 | 5367 | | |
| 5368 | + | |
| 5369 | + | |
5368 | 5370 | | |
5369 | 5371 | | |
5370 | 5372 | | |
| |||
0 commit comments