ntb_hw_switchtec: AND with the part_map for a valid tpart_vec
authorJeremy Pallotta <jmpallotta@gmail.com>
Fri, 24 Dec 2021 01:23:31 +0000 (17:23 -0800)
committerJon Mason <jdmason@kudzu.us>
Tue, 11 Jan 2022 20:38:59 +0000 (15:38 -0500)
Some firmware versions return 1 in the target partition vector for
undefined partitions. AND with the part_map to give a valid tpart_vec.

Signed-off-by: Jeremy Pallotta <jmpallotta@gmail.com>
Signed-off-by: Kelvin Cao <kelvin.cao@microchip.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/hw/mscc/ntb_hw_switchtec.c

index 36efba2..8e9b976 100644 (file)
@@ -858,6 +858,7 @@ static int switchtec_ntb_init_sndev(struct switchtec_ntb *sndev)
        tpart_vec |= ioread32(&sndev->mmio_ntb->ntp_info[self].target_part_low);
 
        part_map = ioread64(&sndev->mmio_ntb->ep_map);
+       tpart_vec &= part_map;
        part_map &= ~(1 << sndev->self_partition);
 
        if (!tpart_vec) {