Commit cade4cb
[vioscsi] Fix for clobbered SRB Extension IDs
Refactors SRB Extension ID assignment:
1. Moves assignment from VioScsiStartIo() in vioscsi.c to SendSRB() in helper.c
2. Moves ULONG_PTR from _ADAPTER_EXTENSION stuct to _REQUEST_LIST struct
3. Renames ULONG_PTR from last_srb_id to next_id
4. Refactors conditional checks into while loop for efficiency and readability
The refactor solves the problem because the assignment now occurs under spinlock.
Resolves #1453
Labelled as Patch 4 in the issue.
Credits: @iops-hunter
Signed-off-by: benyamin-codez <115509179+benyamin-codez@users.noreply.github.com>1 parent 8f73d3a commit cade4cb
3 files changed
Lines changed: 14 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
120 | 120 | | |
121 | 121 | | |
122 | 122 | | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
123 | 136 | | |
124 | 137 | | |
125 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
363 | | - | |
364 | 363 | | |
365 | 364 | | |
366 | 365 | | |
| |||
839 | 838 | | |
840 | 839 | | |
841 | 840 | | |
842 | | - | |
843 | | - | |
844 | | - | |
845 | | - | |
846 | | - | |
847 | | - | |
848 | | - | |
849 | | - | |
850 | | - | |
851 | | - | |
852 | | - | |
853 | 841 | | |
854 | 842 | | |
855 | 843 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
| 279 | + | |
279 | 280 | | |
280 | 281 | | |
281 | 282 | | |
| |||
353 | 354 | | |
354 | 355 | | |
355 | 356 | | |
356 | | - | |
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
| |||
0 commit comments