net: dsa: lan9303: Only allocate 3 ports
Save 2628 bytes on arm eabi by allocate only the required 3 ports. Now that ds->num_ports is correct: In net/dsa/tag_lan9303.c eliminate duplicate LAN9303_MAX_PORTS, use ds->num_ports. (Matching the pattern of other net/dsa/tag_xxx.c files.) Signed-off-by: Egil Hjelmeland <privat@egil-hjelmeland.no> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com> Reviewed-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
996139e801
commit
274cdb46e9
|
@ -811,7 +811,7 @@ static struct dsa_switch_ops lan9303_switch_ops = {
|
||||||
|
|
||||||
static int lan9303_register_switch(struct lan9303 *chip)
|
static int lan9303_register_switch(struct lan9303 *chip)
|
||||||
{
|
{
|
||||||
chip->ds = dsa_switch_alloc(chip->dev, DSA_MAX_PORTS);
|
chip->ds = dsa_switch_alloc(chip->dev, LAN9303_NUM_PORTS);
|
||||||
if (!chip->ds)
|
if (!chip->ds)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define LAN9303_TAG_LEN 4
|
#define LAN9303_TAG_LEN 4
|
||||||
#define LAN9303_MAX_PORTS 3
|
|
||||||
|
|
||||||
static struct sk_buff *lan9303_xmit(struct sk_buff *skb, struct net_device *dev)
|
static struct sk_buff *lan9303_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
{
|
{
|
||||||
|
@ -104,7 +103,7 @@ static struct sk_buff *lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||||
|
|
||||||
source_port = ntohs(lan9303_tag[1]) & 0x3;
|
source_port = ntohs(lan9303_tag[1]) & 0x3;
|
||||||
|
|
||||||
if (source_port >= LAN9303_MAX_PORTS) {
|
if (source_port >= ds->num_ports) {
|
||||||
dev_warn_ratelimited(&dev->dev, "Dropping packet due to invalid source port\n");
|
dev_warn_ratelimited(&dev->dev, "Dropping packet due to invalid source port\n");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue