SPI_finishは、既存のSPIマネージャへの接続を閉じます。プロシージャの現在の呼び出しにおいて必要とするSPI操作が完了した後この関数を呼び出す必要があります。
有効な接続が存在しない状態でSPI_finishが呼び出された場合、SPI_ERROR_UNCONNECTEDというエラーが返ります。このエラーコードについては特に問題はありません。 これはSPIマネージャが何も行わなかったということを意味しています。
SPI_finishは必ず接続したプロシージャの最後の段階で呼び出されなければいけません。 さもないと、予測できない結果が起きるかもしれません。しかし、トランザクションをelog(ERROR)を使って中断した場合は、SPI_finishの呼び出しを省略しても問題はありません。この場合は SPI は自身で後始末を行います。