Type 0 is a USSD-Notify message, which contains a string. Type 2 means session terminated by network, and is not supposed to have a string as payload. This is described in RIL_UNSOL_ON_USSD description in ril.h. To return type 2 with a string is a bug: MTK does this where mako returns type 0 with a string. So I change the type here as otherwise the USSD session is terminated in the ussd atom.