Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

lightnvm: pblk: fix bad le64 assignations

Use the right types and conversions on le64 variables. Reported by
sparse.

Signed-off-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <matias@cnexlabs.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Javier González and committed by
Jens Axboe
f417aa0b a2b93775

+7 -4
+1 -1
drivers/lightnvm/pblk-core.c
··· 765 765 rqd.ppa_list[i] = addr_to_gen_ppa(pblk, paddr, line->id); 766 766 767 767 if (dir == WRITE) { 768 - u64 addr_empty = cpu_to_le64(ADDR_EMPTY); 768 + __le64 addr_empty = cpu_to_le64(ADDR_EMPTY); 769 769 770 770 meta_list[i].lba = lba_list[paddr] = addr_empty; 771 771 }
+4 -1
drivers/lightnvm/pblk-gc.c
··· 314 314 struct list_head *group_list) 315 315 { 316 316 struct pblk_line *line, *victim; 317 + int line_vsc, victim_vsc; 317 318 318 319 victim = list_first_entry(group_list, struct pblk_line, list); 319 320 list_for_each_entry(line, group_list, list) { 320 - if (*line->vsc < *victim->vsc) 321 + line_vsc = le32_to_cpu(*line->vsc); 322 + victim_vsc = le32_to_cpu(*victim->vsc); 323 + if (line_vsc < victim_vsc) 321 324 victim = line; 322 325 } 323 326
+1 -1
drivers/lightnvm/pblk-map.c
··· 53 53 lba_list[paddr] = cpu_to_le64(w_ctx->lba); 54 54 line->nr_valid_lbas++; 55 55 } else { 56 - u64 addr_empty = cpu_to_le64(ADDR_EMPTY); 56 + __le64 addr_empty = cpu_to_le64(ADDR_EMPTY); 57 57 58 58 lba_list[paddr] = meta_list[i].lba = addr_empty; 59 59 __pblk_map_invalidate(pblk, line, paddr);
+1 -1
drivers/lightnvm/pblk-recovery.c
··· 395 395 396 396 for (j = 0; j < pblk->min_write_pgs; j++, i++, w_ptr++) { 397 397 struct ppa_addr dev_ppa; 398 - u64 addr_empty = cpu_to_le64(ADDR_EMPTY); 398 + __le64 addr_empty = cpu_to_le64(ADDR_EMPTY); 399 399 400 400 dev_ppa = addr_to_gen_ppa(pblk, w_ptr, line->id); 401 401