summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw2@infradead.org>2010-11-01 10:35:28 +0000
committerDavid S. Miller <davem@davemloft.net>2010-11-08 12:17:05 -0800
commit3ce1227c3c374c742ed78484226e24567f09ff99 (patch)
tree0b3328b7dc057b49f32ac32f64f7694eb79426d9
parent1a4ec46a68292515ae84deb8ee5cc2572db1fa99 (diff)
downloadlinux-3ce1227c3c374c742ed78484226e24567f09ff99.tar.bz2
solos: Refuse to upgrade firmware with older FPGA. It doesn't work.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/atm/solos-pci.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index f46138ab38b6..2e08c996fd30 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -1161,6 +1161,14 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
dev_info(&dev->dev, "Solos FPGA Version %d.%02d svn-%d\n",
major_ver, minor_ver, fpga_ver);
+ if (fpga_ver < 37 && (fpga_upgrade || firmware_upgrade ||
+ db_fpga_upgrade || db_firmware_upgrade)) {
+ dev_warn(&dev->dev,
+ "FPGA too old; cannot upgrade flash. Use JTAG.\n");
+ fpga_upgrade = firmware_upgrade = 0;
+ db_fpga_upgrade = db_firmware_upgrade = 0;
+ }
+
if (card->fpga_version >= DMA_SUPPORTED){
card->using_dma = 1;
} else {