summaryrefslogtreecommitdiffstats
path: root/sys/scsi/scsi_driver.c
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1997-02-08 03:42:22 +0000
committerwpaul <wpaul@FreeBSD.org>1997-02-08 03:42:22 +0000
commitc1848416f24da8b2257295879320ed78d84dd3a5 (patch)
tree8f99ab8e81cd1f411a772d64448329afe3cea8f8 /sys/scsi/scsi_driver.c
parent3a676129b4df4e178a01f915f6fe6770f65aa508 (diff)
downloadFreeBSD-src-c1848416f24da8b2257295879320ed78d84dd3a5.zip
FreeBSD-src-c1848416f24da8b2257295879320ed78d84dd3a5.tar.gz
Make some small tweaks to the messages to clean up some stuff
from last time. Some people have pointed out that there were some odd side-effects in the changes I made. Two things are different: - sc_print_addr() will print 'foodev0:' (i.e. sd0:, st0:, cd0:, etc...) if the device name is known. If it's not known, it'll use a longer notation. This shortens error messages back to a sane length. - Added a small function called sc_print_init() to set the sc_printing flag so that sc_print_addr() will know that we want it to print a linefeed. Used this in scsi_device_attach() to restore proper carriage return printing behavior which I broke. Remaining bogons: the NCR SCSI driver prints out information while the device-specific attach routine is running with its own linefeeds. This breaks up the individual messages emitted by the subdriver modules and causes at least one message to appear on a line by itself without a device spec prefix. I'm not sure of the correct way to fix this, and I don't have any NCR SCSI hardware to test with anyway. There's probably more, but I gather that a rewrite of the SCSI subsystem is pending anyway, so I'll leave the rest to Those Who Know More About This Than I (tm).
Diffstat (limited to 'sys/scsi/scsi_driver.c')
-rw-r--r--sys/scsi/scsi_driver.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/scsi/scsi_driver.c b/sys/scsi/scsi_driver.c
index 07018f9..f03e2c1 100644
--- a/sys/scsi/scsi_driver.c
+++ b/sys/scsi/scsi_driver.c
@@ -90,6 +90,13 @@ int scsi_device_attach(struct scsi_link *sc_link)
#endif
printf("%s%d: %s ", device->name, sc_link->dev_unit, device->desc);
+ /*
+ * XXX some SCSI adapter drivers print out things while the
+ * device-specific attach routine is running. The result is
+ * something of a mess. This hack at least keeps it so each
+ * line will begin with foodev0:.
+ */
+ sc_print_init();
dev = scsi_dev_lookup(device->open);
@@ -100,6 +107,7 @@ int scsi_device_attach(struct scsi_link *sc_link)
errcode = (device->attach) ? (*(device->attach))(sc_link) : 0;
printf("\n");
+ sc_print_finish();
if (errcode == 0)
sc_link->flags |= device->link_flags;
OpenPOWER on IntegriCloud