Subject: aha_cmd passed too many args in aha1542.c
To: None <current-users@sun-lamp.cs.berkeley.edu>
From: Roland McGrath <roland@frob.com>
List: current-users
Date: 08/16/1994 18:14:07
I am trying to figure out the functional difference between a 1542B
and 1542C, so I can make the Mach driver which supports the 1542B
supports the 1542C as well.

From reading netbsd-current's aha1542.c, it looks like the only
special thing done for a 1542C is this code:

		aha_cmd(aha, 0, sizeof(extbios), 0, &extbios, AHA_EXT_BIOS);
#ifdef	AHADEBUG
		printf("%s: extended bios flags %x\n", aha->sc_dev.dv_xname,
			extbios.flags);
#endif	/* AHADEBUG */
		printf("%s: 1542C/CF detected, unlocking mailbox\n",
			aha->sc_dev.dv_xname);
		aha_cmd(aha, 2, 0, 0, 0, AHA_MBX_ENABLE,
			0, extbios.mailboxlock);

The second aha_cmd confuses me; it passes too many arguments.
Does this want to read:

		aha_cmd(aha, 2, 0, 0, 0, AHA_MBX_ENABLE,
			&extbios.mailboxlock);

?  But that would not make sense either, since that says to send two
bytes and there is only one byte in extbios.mailboxlock.

Anyone know?

------------------------------------------------------------------------------