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]

Reply via email to