Darius Garland went off with a big double-double and the Cleveland Cavaliers secured a much-needed bounce-back win over the Charlotte Hornets 139-132.