the put if there are no pages, that seems to cause some problem. fix another problem with missing an splx(), spotted by enami.