A method for implementing enhanced error collection for an input/output (I/O ) adapter in a computer system, the I/O adapter being partitioned into multiple Partitionable Endpoints, with each Partitionable Endpoint (PE) corresponding to a function, and including an adapter PE associated with the I/O adapter, and multiple virtual function (VF) PEs, said method comprising:
- responsive to an error of the adapter, freezing the adapter PE;
- freezing the VF PEs associated with the adapter, responsive to freezing the adapter PE;
- informing an adapter driver and VF device drivers of the error, and said adapter driver and said VF device drivers starting recovery;
- and
- locking out said VF device drivers, enabling adapter recovery to successfully complete.