[Kernelloader-cvs] kernelloader/TGE/sbios sifcmd.c,1.11,1.12
Run Linux on the Playstation 2
Brought to you by:
kloader
From: Mega M. <kl...@us...> - 2014-03-05 21:27:27
|
Update of /cvsroot/kernelloader/kernelloader/TGE/sbios In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv785/TGE/sbios Modified Files: sifcmd.c Log Message: Handle spurious interrupt. Only copy RPC message when there was really data transferred. Index: sifcmd.c =================================================================== RCS file: /cvsroot/kernelloader/kernelloader/TGE/sbios/sifcmd.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** sifcmd.c 5 Jan 2014 19:37:32 -0000 1.11 --- sifcmd.c 5 Mar 2014 21:27:25 -0000 1.12 *************** *** 170,173 **** --- 170,181 ---- uint32_t id; + if (_lw(EE_DMAC_SIF0_CHCR) & 0x0100) { + /* Interrupt to early. Transfer is still in process. */ + #if defined(SBIOS_DEBUG) + printf("sif_cmd_interrupt: transfer not finished\n"); + #endif + return; + } + /* Align packet or u128 copy will fail. */ packet_aligned = (unsigned int) packetbuf; |