On Thu, Oct 19, 2006 at 01:12:42AM +1000, Nick Piggin wrote:
Why not just WARN if it is already blocked as well? Presumably if the
Because the driver can check the return value and fail the higher level
operation.
driver needs nested blocking, it is going to have to carry some state
to know when to do the final unblock anyway, so it may as well just
not do these redundant blocks either.
No driver needs nested blocking, but blocks may be imposed on a driver's
device by the PCI core, for example.
** or ** just do a counting block/unblock to properly support nesting
them. That is, go one way or the other, and do it properly.
I don't think that's necessary. Right now, we have one user (IPR's
BIST) and I'm trying to add a second (D-state transitions). We don't
need nested blocks, but we do need to fail in the highly unlikely case
someone tries to do them.
If it turns out we actually need them later, let's revisit this when we
have a user.