patch-2.4.22 linux-2.4.22/drivers/net/sunhme.c
Next file: linux-2.4.22/drivers/net/tc35815.c
Previous file: linux-2.4.22/drivers/net/sungem.c
Back to the patch index
Back to the overall index
- Lines: 45
- Date:
2003-08-25 04:44:42.000000000 -0700
- Orig file:
linux-2.4.21/drivers/net/sunhme.c
- Orig date:
2003-06-13 07:51:35.000000000 -0700
diff -urN linux-2.4.21/drivers/net/sunhme.c linux-2.4.22/drivers/net/sunhme.c
@@ -2480,9 +2480,6 @@
return -EFAULT;
return 0;
} else if (ecmd.cmd == ETHTOOL_SSET) {
- if (!capable(CAP_NET_ADMIN))
- return -EPERM;
-
/* Verify the settings we care about. */
if (ecmd.autoneg != AUTONEG_ENABLE &&
ecmd.autoneg != AUTONEG_DISABLE)
@@ -2801,8 +2798,8 @@
dev->watchdog_timeo = 5*HZ;
dev->do_ioctl = &happy_meal_ioctl;
- /* Happy Meal can do it all... */
- dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM;
+ /* Happy Meal can do it all... except VLAN. */
+ dev->features |= NETIF_F_SG | NETIF_F_HW_CSUM | NETIF_F_VLAN_CHALLENGED;
dev->irq = sdev->irqs[0];
@@ -3091,8 +3088,12 @@
#ifdef __sparc__
hp->hm_revision = prom_getintdefault(node, "hm-rev", 0xff);
- if (hp->hm_revision == 0xff)
- hp->hm_revision = 0xa0;
+ if (hp->hm_revision == 0xff) {
+ unsigned char prev;
+
+ pci_read_config_byte(pdev, PCI_REVISION_ID, &prev);
+ hp->hm_revision = 0xc0 | (prev & 0x0f);
+ }
#else
/* works with this on non-sparc hosts */
hp->hm_revision = 0x20;
@@ -3101,7 +3102,7 @@
/* Now enable the feature flags we can. */
if (hp->hm_revision == 0x20 || hp->hm_revision == 0x21)
hp->happy_flags = HFLAG_20_21;
- else if (hp->hm_revision != 0xa0)
+ else if (hp->hm_revision != 0xa0 && hp->hm_revision != 0xc0)
hp->happy_flags = HFLAG_NOT_A0;
if (qp != NULL)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)