From c7694a5322e23763f9538025bdc56b2f603db1b0 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 14 Apr 2005 23:20:56 +0000 Subject: [PATCH] Cleaner separation of find_t509_device/fill_t509_device. --- src/drivers/net/3c509.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/drivers/net/3c509.c b/src/drivers/net/3c509.c index 0a85e469..e73bf84b 100644 --- a/src/drivers/net/3c509.c +++ b/src/drivers/net/3c509.c @@ -120,6 +120,17 @@ static inline int fill_t509_device ( struct t509_device *t509 ) { int i; uint16_t iobase; + /* + * We need an ID port, if we don't already have one. + * + */ + if ( ! t509->id_port ) { + if ( ! find_id_port ( t509 ) ) { + DBG ( "No ID port available for contention select\n" ); + return 0; + } + } + /* * If this is the start of the scan, clear all tag registers. * Otherwise, tell already-found NICs not to respond. @@ -173,10 +184,6 @@ static inline int find_t509_device ( struct t509_device *t509, if ( t509->magic != t509_magic ) { memset ( t509, 0, sizeof ( *t509 ) ); t509->magic = t509_magic; - if ( ! find_id_port ( t509 ) ) { - DBG ( "No ID port available for contention select\n" ); - return 0; - } } /* Find the next t509 device */