AbbVie takes $2.1 bln charge on cancer drug ahead of US price negotiation