Date: Fri, 22 Jan 1999 18:08:39 +0100 (CET)
From: MOLNAR Ingo <[EMAIL PROTECTED]>
the + - variant just hides the real bug. If it makes a difference, then
this is clearly a bug somewhere in a driver. __io_virt(__io_virt(x))
should never be done in a driver. It would be very nice to debug the
driver bug, the bug could have other side-effects too. To debug 'invalid'
(ie. nested) uses of __io_virt() and __io_phys():
It's been done in the buslogic driver for a long time.
It uses this to hold kernel pointers to scsi commands in the buslogic
specific mailbox structures. It uses this at command completion time
to figure out what command a mailbox completion event is for, so it
need not be kept in the driver software state.
Look at BusLogic_ScanIncomingMailboxes and
BusLogic_WriteOutgoingMailbox, grep for Virtual_to_Bus,
Bus_to_Virtual, and "CCB"
Later,
David S. Miller
[EMAIL PROTECTED]
-
Linux SMP list: FIRST see FAQ at http://www.irisa.fr/prive/mentre/smp-faq/
To Unsubscribe: send "unsubscribe linux-smp" to [EMAIL PROTECTED]