Is 'I was kept waiting by him' correct?

In my English Wren and Martin Grammar book, the following sentence is converted from active to passive in the following way:-

Active:He kept me waiting.

Passive: I was kept waiting.

But I was wondering why can't you say 'I was kept waiting by him'. Is it just a just the way it is or is there a reason why the sentence I wrote is linguistically incorrect? Thanks in advance


Solution 1:

But I was wondering why can't you say 'I was kept waiting by him'

You can.

In this regard the passive is more flexible, since you can either include the agent ("I was kept waiting by him" or leave it out ("I was kept waiting").

The active, since it has the agent as the subject, cannot do this. It must at the least have "Something kept me waiting" or "Someone kept me waiting", even if you don't care to state who did so.