From dadddbefa7a9b123318a751a3bbc2b34ad34a56c Mon Sep 17 00:00:00 2001 From: Madalin Bucur Date: Thu, 27 Mar 2014 18:51:07 +0200 Subject: 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 Change-Id: Icd84ece1b1c4762bcaacf426cbd58a285fa98063 Reviewed-on: http://git.am.freescale.net:8181/10435 Tested-by: Review Code-CDREVIEW Reviewed-by: Cristian Bercaru Reviewed-by: Cristian-Constantin Sovaiala Reviewed-by: Ruxandra Ioana Radulescu Reviewed-by: Jose Rivera 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); } -- cgit v0.10.2