net: e100: ucode is optional in some cases
authorBjørn Mork <bjorn@mork.no>
Thu, 19 Jul 2012 06:28:40 +0000 (06:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Jul 2012 17:48:07 +0000 (10:48 -0700)
commit8b0d2f9ed3d8e92feada7c5d70fa85be46e6f948
tree8b2d12e5dde596e8d7cc0f40e0a391137f0728e4
parent215029375c833a0b22acade0efb582ffd20836ce
net: e100: ucode is optional in some cases

commit 9ac32e1b firmware: convert e100 driver to request_firmware()

did a straight conversion of the in-driver ucode to external
files.  This introduced the possibility of the driver failing
to enable an interface due to missing ucode. There was no
evaluation of the importance of the ucode at the time.

Based on comments in earlier versions of this driver, and in
the source code for the FreeBSD fxp driver, we can assume that
the ucode implements the "CPU Cycle Saver" feature on supported
adapters.  Although generally wanted, this is an optional
feature. The ucode source is not available, preventing it from
being included in free distributions. This creates unnecessary
problems for the end users. Doing a network install based on a
free distribution installer requires the user to download and
insert the ucode into the installer.

Making the ucode optional when possible improves the user
experience and driver usability.

The ucode for some adapters include a bugfix, making it
essential.  We continue to fail for these adapters unless the
ucode is available.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/e100.c