Mallinckrodt buying Cadence Pharma for $1.21B