Sfoglia il codice sorgente

bna: fill the magic in bnad_get_eeprom() instead of validating

A driver should fill magic field of ethtool_eeprom struct in .get_eeprom
and validate it in .set_eeprom. The bna incorrectly validates it in both
and this makes its .get_eeprom interface unusable.

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ivan Vecera 11 anni fa
parent
commit
dabf24d168
1 ha cambiato i file con 2 aggiunte e 4 eliminazioni
  1. 2 4
      drivers/net/ethernet/brocade/bna/bnad_ethtool.c

+ 2 - 4
drivers/net/ethernet/brocade/bna/bnad_ethtool.c

@@ -997,10 +997,8 @@ bnad_get_eeprom(struct net_device *netdev, struct ethtool_eeprom *eeprom,
 	unsigned long flags = 0;
 	unsigned long flags = 0;
 	int ret = 0;
 	int ret = 0;
 
 
-	/* Check if the flash read request is valid */
-	if (eeprom->magic != (bnad->pcidev->vendor |
-			     (bnad->pcidev->device << 16)))
-		return -EFAULT;
+	/* Fill the magic value */
+	eeprom->magic = bnad->pcidev->vendor | (bnad->pcidev->device << 16);
 
 
 	/* Query the flash partition based on the offset */
 	/* Query the flash partition based on the offset */
 	flash_part = bnad_get_flash_partition_by_offset(bnad,
 	flash_part = bnad_get_flash_partition_by_offset(bnad,