diff options
author | Madalin Bucur <madalin.bucur@freescale.com> | 2014-03-27 16:51:07 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-03-31 19:52:46 (GMT) |
commit | dadddbefa7a9b123318a751a3bbc2b34ad34a56c (patch) | |
tree | 74d3cb7a9f6ed4c1355b734c1bc740f2fdecc504 | |
parent | 8901a6c015c66cecd70b301f58bab9fc68a11d69 (diff) | |
download | linux-fsl-qoriq-dadddbefa7a9b123318a751a3bbc2b34ad34a56c.tar.xz |
dpa_eth: fix issue in dpa_release_sgt()
ARRAY_SIZE() was used on non-array parameter.
Moved parameter inside function as it was not used outside.
Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
Change-Id: Icd84ece1b1c4762bcaacf426cbd58a285fa98063
Reviewed-on: http://git.am.freescale.net:8181/10435
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Cristian Bercaru <cristian.bercaru@freescale.com>
Reviewed-by: Cristian-Constantin Sovaiala <Cristian.Sovaiala@freescale.com>
Reviewed-by: Ruxandra Ioana Radulescu <ruxandra.radulescu@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c | 7 | ||||
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_common.h | 4 | ||||
-rw-r--r-- | drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c | 6 |
3 files changed, 9 insertions, 8 deletions
diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c index d2fc5e2..0a5e1c7 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.c @@ -1479,9 +1479,10 @@ void dpaa_eth_init_ports(struct mac_device *mac_dev, fm_port_pcd_bind(rxport, &rx_port_pcd_param); } -void dpa_release_sgt(struct qm_sg_entry *sgt, struct bm_buffer *bmb) +void dpa_release_sgt(struct qm_sg_entry *sgt) { struct dpa_bp *dpa_bp; + struct bm_buffer bmb[DPA_BUFF_RELEASE_MAX]; uint8_t i = 0, j; do { @@ -1510,7 +1511,7 @@ dpa_fd_release(const struct net_device *net_dev, const struct qm_fd *fd) { struct qm_sg_entry *sgt; struct dpa_bp *_dpa_bp; - struct bm_buffer _bmb, bmb[8]; + struct bm_buffer _bmb; _bmb.hi = fd->addr_hi; _bmb.lo = fd->addr_lo; @@ -1520,7 +1521,7 @@ dpa_fd_release(const struct net_device *net_dev, const struct qm_fd *fd) if (fd->format == qm_fd_sg) { sgt = (phys_to_virt(bm_buf_addr(&_bmb)) + dpa_fd_offset(fd)); - dpa_release_sgt(sgt, bmb); + dpa_release_sgt(sgt); } while (bman_release(_dpa_bp->pool, &_bmb, 1, 0)) diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.h b/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.h index fd654b7..5d9feae 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.h +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_common.h @@ -67,6 +67,7 @@ } #define DPA_SGT_MAX_ENTRIES 16 /* maximum number of entries in SG Table */ +#define DPA_BUFF_RELEASE_MAX 8 /* maximum number of buffers released at once */ /* return codes for the dpaa-eth hooks */ enum dpaa_eth_hook_result { @@ -200,8 +201,7 @@ void dpaa_eth_init_ports(struct mac_device *mac_dev, struct fm_port_fqs *port_fqs, struct dpa_buffer_layout_s *buf_layout, struct device *dev); -void dpa_release_sgt(struct qm_sg_entry *sgt, - struct bm_buffer *bmb); +void dpa_release_sgt(struct qm_sg_entry *sgt); void __attribute__((nonnull)) dpa_fd_release(const struct net_device *net_dev, const struct qm_fd *fd); void count_ern(struct dpa_percpu_priv_s *percpu_priv, diff --git a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c index 2e10e33..f6671f9 100644 --- a/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c +++ b/drivers/net/ethernet/freescale/dpa/dpaa_eth_shared.c @@ -192,7 +192,7 @@ dpa_fd_release_sg(const struct net_device *net_dev, const struct dpa_priv_s *priv; struct qm_sg_entry *sgt; struct dpa_bp *_dpa_bp; - struct bm_buffer _bmb, bmb[8]; + struct bm_buffer _bmb; priv = netdev_priv(net_dev); @@ -205,7 +205,7 @@ dpa_fd_release_sg(const struct net_device *net_dev, if (_dpa_bp->vaddr) { sgt = dpa_phys2virt(_dpa_bp, bm_buf_addr(&_bmb)) + dpa_fd_offset(fd); - dpa_release_sgt(sgt, bmb); + dpa_release_sgt(sgt); } else { sgt = kmalloc(DPA_SGT_MAX_ENTRIES * sizeof(*sgt), GFP_ATOMIC); if (sgt == NULL) { @@ -219,7 +219,7 @@ dpa_fd_release_sg(const struct net_device *net_dev, dpa_fd_offset(fd), min(DPA_SGT_MAX_ENTRIES * sizeof(*sgt), _dpa_bp->size)); - dpa_release_sgt(sgt, bmb); + dpa_release_sgt(sgt); kfree(sgt); } |