P0446 has nothing to do with the canistor !
DTC P0446 Evaporative Emission (EVAP) Vent System Performance
This DTC tests the evaporative emission (EVAP) system for a restricted or blocked EVAP vent path. The control module commands the EVAP canister purge solenoid valve Open and the EVAP canister vent solenoid valve Closed. This allows vacuum to be applied to the EVAP system. Once a calibrated vacuum level has been reached, the control module commands the EVAP canister purge solenoid valve Closed and the EVAP canister vent solenoid valve Open. The control module monitors the fuel tank pressure (FTP) sensor for a decrease in vacuum. If the vacuum does not decrease to near 0 inches H2O in a calibrated time, this DTC sets.
DTC P0452 Fuel Tank Pressure (FTP) Sensor Circuit Low Voltage
How to troubleshoot an EVAP Pressure Sensor problem P0452 GMEVAP Vent Solenoid Code P0446 The solenoid is stuck open !
replace the switch under the automatic buttons. 52 dollar fix instead of 400 dollars at dealer! most of the time due to solder breaking in switch! order online pop dash off replace. no tools needed