> If such a source is connected it's possible the UCSI FW could have s/UCSI FW/PPM > We can resolve this by instead retrieving and storing up to the > maximum of 7 PDOs in the con->src_pdos array. This would involve > two calls to the GET_PDOS command. > This issue (see the signature below) is found by enabling UBSAN and connecting a charger adapter that can advertise 5 PDOs and RPDO selected by PPM is 5. [ 151.545106][ T70] Unexpected kernel BRK exception at EL1 [ 151.545112][ T70] Internal error: BRK handler: f2005512 [#1] PREEMPT SMP ... [ 151.545499][ T70] pc : ucsi_psy_get_prop+0x208/0x20c [ 151.545507][ T70] lr : power_supply_show_property+0xc0/0x328 ... [ 151.545542][ T70] Call trace: [ 151.545544][ T70] ucsi_psy_get_prop+0x208/0x20c [ 151.545546][ T70] power_supply_uevent+0x1a4/0x2f0 [ 151.545550][ T70] dev_uevent+0x200/0x384 [ 151.545555][ T70] kobject_uevent_env+0x1d4/0x7e8 [ 151.545557][ T70] power_supply_changed_work+0x174/0x31c [ 151.545562][ T70] process_one_work+0x244/0x6f0 [ 151.545564][ T70] worker_thread+0x3e0/0xa64 > Fixes: 992a60ed0d5e ("usb: typec: ucsi: register with power_supply class") > Fixes: 4dbc6a4ef06d ("usb: typec: ucsi: save power data objects in PD mode")