I have a fix that works with OPENMPI (but not yet with MPICH).
In psetb.F make the following changes:
1. redimension req and add reqcnt: integer usolve_msg, req(ntasks),reqcnt
2. Before the first loop:
req( : ) = 0
reqcnt = 0
3. Change the send:
reqcnt = reqcnt + 1
call MPI_Isend( sdatabuf(soff+1), sbuf, MPI_DOUBLE_PRECISION,
& i-1, usolve_msg, MPI_COMM_WORLD, req(reqcnt),
& ierr)
4. Right before the call to mpi_barrier add
call MPI_WaitALL(reqcnt,req,MPI_STATUSES_IGNORE,ierr)