Merge Official Source
This commit is contained in:
commit
df63717fce
@ -1204,7 +1204,7 @@ ar8xxx_sw_set_vid(struct switch_dev *dev, const struct switch_attr *attr,
|
||||
{
|
||||
struct ar8xxx_priv *priv = swdev_to_ar8xxx(dev);
|
||||
|
||||
if (val->port_vlan >= AR8X16_MAX_VLANS)
|
||||
if (val->port_vlan >= dev->vlans)
|
||||
return -EINVAL;
|
||||
|
||||
priv->vlan_id[val->port_vlan] = val->value.i;
|
||||
@ -1237,7 +1237,7 @@ ar8xxx_sw_get_ports(struct switch_dev *dev, struct switch_val *val)
|
||||
u8 ports;
|
||||
int i;
|
||||
|
||||
if (val->port_vlan >= AR8X16_MAX_VLANS)
|
||||
if (val->port_vlan >= dev->vlans)
|
||||
return -EINVAL;
|
||||
|
||||
ports = priv->vlan_table[val->port_vlan];
|
||||
@ -1277,7 +1277,7 @@ ar8xxx_sw_set_ports(struct switch_dev *dev, struct switch_val *val)
|
||||
|
||||
/* make sure that an untagged port does not
|
||||
* appear in other vlans */
|
||||
for (j = 0; j < AR8X16_MAX_VLANS; j++) {
|
||||
for (j = 0; j < dev->vlans; j++) {
|
||||
if (j == val->port_vlan)
|
||||
continue;
|
||||
priv->vlan_table[j] &= ~(1 << p->id);
|
||||
@ -1356,7 +1356,7 @@ ar8xxx_sw_hw_apply(struct switch_dev *dev)
|
||||
if (!priv->init) {
|
||||
/* calculate the port destination masks and load vlans
|
||||
* into the vlan translation unit */
|
||||
for (j = 0; j < AR8X16_MAX_VLANS; j++) {
|
||||
for (j = 0; j < dev->vlans; j++) {
|
||||
u8 vp = priv->vlan_table[j];
|
||||
|
||||
if (!vp)
|
||||
@ -1409,7 +1409,7 @@ ar8xxx_sw_reset_switch(struct switch_dev *dev)
|
||||
memset(&priv->vlan, 0, sizeof(struct ar8xxx_priv) -
|
||||
offsetof(struct ar8xxx_priv, vlan));
|
||||
|
||||
for (i = 0; i < AR8X16_MAX_VLANS; i++)
|
||||
for (i = 0; i < dev->vlans; i++)
|
||||
priv->vlan_id[i] = i;
|
||||
|
||||
/* Configure all ports */
|
||||
|
||||
@ -31,6 +31,9 @@
|
||||
|
||||
/* size of the vlan table */
|
||||
#define AR8X16_MAX_VLANS 128
|
||||
#define AR83X7_MAX_VLANS 4096
|
||||
#define AR8XXX_MAX_VLANS AR83X7_MAX_VLANS
|
||||
|
||||
#define AR8X16_PROBE_RETRIES 10
|
||||
#define AR8X16_MAX_PORTS 8
|
||||
|
||||
@ -504,8 +507,9 @@ struct ar8xxx_priv {
|
||||
|
||||
/* all fields below are cleared on reset */
|
||||
bool vlan;
|
||||
u16 vlan_id[AR8X16_MAX_VLANS];
|
||||
u8 vlan_table[AR8X16_MAX_VLANS];
|
||||
|
||||
u16 vlan_id[AR8XXX_MAX_VLANS];
|
||||
u8 vlan_table[AR8XXX_MAX_VLANS];
|
||||
u8 vlan_tagged;
|
||||
u16 pvid[AR8X16_MAX_PORTS];
|
||||
int arl_age_time;
|
||||
|
||||
@ -1481,7 +1481,7 @@ const struct ar8xxx_chip ar8327_chip = {
|
||||
|
||||
.name = "Atheros AR8327",
|
||||
.ports = AR8327_NUM_PORTS,
|
||||
.vlans = AR8X16_MAX_VLANS,
|
||||
.vlans = AR83X7_MAX_VLANS,
|
||||
.swops = &ar8327_sw_ops,
|
||||
|
||||
.reg_port_stats_start = 0x1000,
|
||||
@ -1518,7 +1518,7 @@ const struct ar8xxx_chip ar8337_chip = {
|
||||
|
||||
.name = "Atheros AR8337",
|
||||
.ports = AR8327_NUM_PORTS,
|
||||
.vlans = AR8X16_MAX_VLANS,
|
||||
.vlans = AR83X7_MAX_VLANS,
|
||||
.swops = &ar8327_sw_ops,
|
||||
|
||||
.reg_port_stats_start = 0x1000,
|
||||
|
||||
@ -85,8 +85,8 @@ platform_check_image() {
|
||||
er | \
|
||||
erlite)
|
||||
local tar_file="$1"
|
||||
local kernel_length=$((tar xf $tar_file sysupgrade-$board/kernel -O | wc -c) 2> /dev/null)
|
||||
local rootfs_length=$((tar xf $tar_file sysupgrade-$board/root -O | wc -c) 2> /dev/null)
|
||||
local kernel_length=$(tar xf $tar_file sysupgrade-$board/kernel -O | wc -c 2> /dev/null)
|
||||
local rootfs_length=$(tar xf $tar_file sysupgrade-$board/root -O | wc -c 2> /dev/null)
|
||||
[ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
|
||||
echo "The upgrade image is corrupt."
|
||||
return 1
|
||||
|
||||
Loading…
Reference in New Issue
Block a user