[PATCH] m68k: fix PIO case in esp

we always set ->SCp.ptr to physical address of buffer; for DMA that's
just what we need, but we end up using it as virtual address in PIO
case of esp_do_data(), with obvious breakage as soon as memory mapping
becomes non-trivial. The fix is obvious.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Cc: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by Al Viro and committed by Linus Torvalds 3c9757b7 ed1705af

+3 -2
+3 -2
drivers/scsi/NCR53C9x.c
··· 1799 1799 */ 1800 1800 int oldphase, i = 0; /* or where we left off last time ?? esp->current_data ?? */ 1801 1801 int fifocnt = 0; 1802 + unsigned char *p = phys_to_virt((unsigned long)SCptr->SCp.ptr); 1802 1803 1803 1804 oldphase = esp_read(eregs->esp_status) & ESP_STAT_PMASK; 1804 1805 ··· 1861 1860 1862 1861 /* read fifo */ 1863 1862 for(j=0;j<fifocnt;j++) 1864 - SCptr->SCp.ptr[i++] = esp_read(eregs->esp_fdata); 1863 + p[i++] = esp_read(eregs->esp_fdata); 1865 1864 1866 1865 ESPDATA(("(%d) ", i)); 1867 1866 ··· 1883 1882 1884 1883 /* fill fifo */ 1885 1884 for(j=0;j<this_count;j++) 1886 - esp_write(eregs->esp_fdata, SCptr->SCp.ptr[i++]); 1885 + esp_write(eregs->esp_fdata, p[i++]); 1887 1886 1888 1887 /* how many left if this goes out ?? */ 1889 1888 hmuch -= this_count;