he means that your code passes only hidden state to LSTM,  but not cell state.
  output, hidden = self.rnn(emb, hidden)

shall be
  output, hidden = self.rnn(emb,  (hidden,  cell)) 

Refer to the LSTM documentation on the inputs needed.