summaryrefslogtreecommitdiff
path: root/drivers/net/benet
AgeCommit message (Collapse)AuthorFilesLines
2009-11-07be2net: Bug fix to send config commands to hardware after netdev_registerAjit Khaparde1-12/+12
Sending config commands to be2 hardware before netdev_register is completed, is sometimes causing the async link notification to arrive even before the driver is ready to handle it. The commands for vlan config and flow control settings can infact wait till be_open. This patch takes care of that. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-11-07be2net: fix to set proper flow control on resumeAjit Khaparde3-4/+14
If be2 goes into suspend after a user changes the flow control settings, we are not programming them back after resume. This patch takes care of it. We now get the flow control settings before going to suspend mode and then apply them during resume. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-11-06be2net: Fix CQE_STATUS_EXTD_SHIFT defineSathya Perla1-1/+1
Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-15be2net: fix support for PCI hot plugSathya Perla2-11/+22
Before issuing any cmds to the FW, the driver must first wait till the fW becomes ready. This is needed for PCI hot plug when the driver can be probed while the card fw is being initialized. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-15be2net: fix promiscuous and multicast promiscuous modes being enabled alwaysSathya Perla3-14/+18
Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-07be2net: Bug fix to properly update ethtool tx-checksumming after ethtool -K ↵Ajit Khaparde2-3/+3
<ifname> tx off This is a fix for a bug which was a result of wrong use of checksum offload flag. The status of tx-checksumming was not changed from on to off after a 'ethtool -K <ifname> tx off' operation. Use the proper checksum offload flag NETIF_F_HW_CSUM instead of NETIF_F_IP_CSUM and NETIF_F_IPV6_CSUM. Patch is against net-2.6 tree. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-07be2net: Fix a typo in be_cmds.hAjit Khaparde1-1/+1
MCC_STATUS_NOT_SUPPORTED should be decimal 66 not hex 66. This patch fixes this typo. Patch against net-2.6 tree. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-07be2net: Bug Fix while accounting of multicast frames during netdev stats updateAjit Khaparde1-1/+1
While updating the statistics to be passed via the get_stats, tx multicast frames were being accounted instead of rx multicast frames. This patch fixes the bug. This patch is against the net-2.6 tree. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-05be2net: Fix a bug in preparation of mcc wrb which was causing flash ↵Ajit Khaparde1-1/+0
operation to fail This patch fixes a bug that got introduced in commit 76998bc7. During preparation of mcc wrb, req was being wrongly overwritten and the flash operation was failing. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-01be2net: Workaround to fix a bug in Rx Completion processing.Ajit Khaparde4-6/+24
vtp bit in RX completion descriptor could be wrongly set in some skews of BladEngine. Ignore this bit if vtm is not set. Resending because the previous patch was against net-next tree. This patch is against the net-2.6 tree. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-17be2net: fix some cmds to use mccq instead of mboxSathya Perla4-189/+271
All cmds issued to BE after the creation of mccq must now use the mcc-q (and not mbox) to avoid a hw issue that results in mbox poll timeout. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-07be2net: Code changes in Tx path to use skb_dma_map/skb_dma_unmapAjit Khaparde1-30/+32
Code changes to - In the tx completion processing, there were instances of unmapping a memory as a page which was originally mapped as single. This patch takes care of this by using skb_dma_map()/skb_dma_unmap() to map/unmap Tx buffers. - set gso_max_size to 65535. This was not done till now. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-07be2net: Changes to support flashing of the be2 network adapterAjit Khaparde6-4/+317
Changes to support flashing of the be2 network adapter using the request_firmware() & ethtool infrastructure. The trigger to flash the device will come from ethtool utility. The driver will invoke request_firmware() to start the flash process. The file containing the flash image is expected to be available in /lib/firmware/ Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-03drivers: Kill now superfluous ->last_rx storesEric Dumazet1-2/+0
The generic packet receive code takes care of setting netdev->last_rx when necessary, for the sake of the bonding ARP monitor. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Neil Horman <nhorman@txudriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-02netdev: drivers should make ethtool_ops constStephen Hemminger2-2/+2
No need to put ethtool_ops in data, they should be const. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-09-01netdev: convert bulk of drivers to netdev_tx_tStephen Hemminger1-1/+2
In a couple of cases collapse some extra code like: int retval = NETDEV_TX_OK; ... return retval; into return NETDEV_TX_OK; Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-18be2net: destroy mcc queue before tx queuesSathya Perla1-1/+1
As mcc queue uses the tx event queue. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-18be2net: refactor be_msix_(un)register() code.Sathya Perla1-21/+37
Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-18be2net: Set mac addr in hw regardless of netif_running()Sathya Perla1-10/+5
be_mac_addr_set() currently is broken when netif_running() is false. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-14be2net:Creating/destroying queues regardless of netif_running() in ↵Sarveshwar Bandi1-2/+2
suspend/resume path Signed-off-by: sarveshwarb <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-13be2net: clear & notify residual events before destroying event queuesSathya Perla1-29/+56
Any events rcvd after interrupts are disabled (in the driver unload path), must be cleared and notified before the event queues are destroyed Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-13be2net: fix bad queue traversal in be_rx_q_clean()Sathya Perla1-1/+1
Using "for(tail != head)" to traverse a queue from tail to head fails in the case of a fully filled queue. Use "for(used != 0)" instead. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-13be2net: Clear pending tx completions before destroying tx queueSathya Perla1-19/+33
Clear pending tx completions in be_close() (ndo.stop method) so that after unregister_netdev() calls be_close(), all tx skbs are freed and there are no more tx completions when txq is destroyed. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-06be2net: Patch to perform function reset at initializationsarveshwarb3-0/+27
This patch is a bug fix to avoid system going into a bad state when driver is loaded in context of kdump kernel. The patch fixes the issue by performing a soft reset of pci function at probe time. Signed-off-by: sarveshwarb <sarveshwarb@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-02be2net: delete unnecessary code from be_cmd_POST()Sathya Perla1-41/+4
When the driver loads the POST stage of the card is expected to be POST_STAGE_ARMFW_RDY. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-02be2net: some name changes for consistencySathya Perla3-34/+34
be_mbox_db_ring() has been changed to be_mbox_notify() (to be consistent with be_mcc_notify()) and struct be_mcc_cq_entry changed to be_mcc_compl to be consistent with rx/tx_compl. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-02be2net: replace some printks with dev_err()/dev_warn()Sathya Perla2-28/+15
And get rid of some unnecessary printks. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-02be2net: remove pci_func field from be_adapter structSathya Perla4-14/+11
pci function is available as PCI_FUNC(pdev->devfn); no need for a separate field. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-02be2net: get rid of be_ctrl_info struct/abstractionSathya Perla5-333/+299
Currently only the be_ctrl_info struct ptr (instead of adapter) is passed to all the routines in be_cmds.c. Instead pass be_adapter ptr to allow access to all its fields. Merge the contents of struct be_ctrl_info into be_adapter. The resulting code is simpler. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-24Merge branch 'master' of ↵David S. Miller1-4/+4
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/iwmc3200wifi/netdev.c net/wireless/scan.c
2009-07-24be2net: Add GRO support to the be2net driver. LRO is not supported anymore.Ajit Khaparde4-94/+31
This patch removes support for INET_LRO and switches over to GRO. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-22be2net: Bug fix in the non-lro path. Size of received packet was not updated ↵Ajit Khaparde1-4/+4
in statistics properly. This patch fixes a bug in the non-lro path. Wrong size of received packet was being passed for updating receive statistics. This patch is against the net-2.6 git. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-07-04be2net: fix spurious interrupt handling in intx modeSathya Perla2-7/+13
Occasionally we may see an interrupt without an event in the eq. In intx, we currently see the event queue and return IRQ_NONE causing a the irq to be disabled ("no one cared".) Instead, read the CEV_ISR reg to check the existence of the interrupt. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-29be2net: Fix to avoid a crash seen on PPC with LRO and Jumbo frames.Ajit Khaparde3-16/+35
While testing the driver on PPC, we ran into a crash with LRO, Jumbo frames. With CONFIG_PPC_64K_PAGES configured (a default in PPC), MAX_SKB_FRAGS drops to 3 and we were crossing the array limits on skb_shinfo(skb)->frags[]. Now we coalesce the frags from the same physical page into one slot in skb_shinfo(skb)->frags[] and go to the next index when the frag is from different physical page. This patch is against the net-2.6 tree. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-19be2net: receive asynchronous link status notifications from BESathya Perla4-33/+80
Rcv and process ansync link status notifications from BE instead of polling for link status in the be_worker thread. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-19be2net: cleanup multicast_set cmd to avoid mc_list copySathya Perla4-41/+32
Cleanup multicast_set method to avoid an extra copy of mc_list and unwanted promiscuos sets to BE. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-19be2net: Use MCC queue for cmds that may be called in BH contextSathya Perla1-17/+52
Currenlty multicast_set and promiscuous_config cmds -- that may be called in BH context -- use the blocking MCC mbox to post cmds. An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable to disable BHs while a blocking mbox cmd is in progress (and take long to finish.) This can lockup a cmd in progress in process context. So, these two cmds in BH context must use the MCC queue to post cmds. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-19be2net: Add MCC queue mechanism for BE cmdsSathya Perla5-161/+455
Currenlty all cmds use the blocking MCC mbox to post cmds. An mbox cmd is protected via a spin_lock(cmd_lock) and not spin_lock_bh() as it is undesirable to disable BHs while a blocking mbox cmd is in progress (and take long to finish.) This can lockup a cmd in progress in process context. Instead cmds that may be called in BH context must use the MCC queue to post cmds. The cmd completions are rcvd in a separate completion queue and the events are placed in the tx-event queue. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-11be2net: Fix be_tx_q_clean() being called on freed queuesSathya Perla1-5/+6
In the tx queue destroy path, be_tx_q_clean() is currently called after the tx queues are freed; it must be called before. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-11be2net: Fix early reset of rx-completionSathya Perla1-2/+12
be_rx_compl_get() must not reset(via the valid word) the rx_compl as the rx_compl is not processed yet; it must be reset after it is processed. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-11be2net: Fix rx stats updation in non-lro pathSathya Perla1-1/+2
rx stats are not getting updated when an rx_compl with only one frag is rcvd in non-lro path. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-11be2net: fix netdev stats rx_errors and rx_droppedSathya Perla1-14/+29
Fix netdev stat rx_errors to cover length related errors and checksum errors and rx_dropped to the pkts dropped due to lack of buffers Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-11be2net: Use cancel_delayed_work_sync instead of cancel_delayed_work()Sathya Perla1-1/+1
Use cancel_delayed_work_sycn instead of cancel_delayed_work() to reliably kill be_worker() as it rearms itself. Signed-off-by: Sathya Perla <sathyap@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-06-09be2net: Remove unnecessary frag list traversing.David S. Miller1-31/+25
This driver does not indicate support for frag lists. Furthermore, even if it did, the code is walking the frag lists incorrectly. The idiom is: for (iter = skb_shinfo(skb)->frag_list; iter; iter = iter->next) but it's doing: for (iter = skb_shinfo(skb)->frag_list; iter; iter = skb_shinfo(iter)->frag_list) which would never work. And this proves that this driver never saw an SKB with active frag lists. So just remove the code altogether and the driver TX path becomes much simpler. Signed-off-by: David S. Miller <davem@davemloft.net>
2009-05-29net: dont update dev->trans_start in 10GB driversEric Dumazet1-2/+0
Followup of commits 9d21493b4beb8f918ba248032fefa393074a5e2b and 08baf561083bc27a953aa087dd8a664bb2b88e8e (net: tx scalability works : trans_start) (net: txq_trans_update() helper) Now that core network takes care of trans_start updates, dont do it in drivers themselves, if possible. Multi queue drivers can avoid one cache miss (on dev->trans_start) in their start_xmit() handler. Exceptions are NETIF_F_LLTX drivers (vxge & tehuti) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-05-19Merge branch 'master' of ↵David S. Miller2-7/+21
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/scsi/fcoe/fcoe.c
2009-05-19be2net: add two new pci device ids to pci device tableAjit Khaparde2-5/+19
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2009-04-17Merge branch 'master' of ↵David S. Miller1-2/+2
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
2009-04-16Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds1-2/+2
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (64 commits) phylib: Fix delay argument of schedule_delayed_work NET/ixgbe: Fix powering off during shutdown NET/e1000e: Fix powering off during shutdown NET/e1000: Fix powering off during shutdown packet: avoid warnings when high-order page allocation fails gianfar: stop send queue before resetting gianfar myr10ge: again fix lro_gen_skb() alignment declance: convert to net_device_ops bfin_mac: convert to net_device_ops au1000: convert to net_device_ops atarilance: convert to net_device_ops a2065: convert to net_device_ops ixgbe: update real_num_tx_queues on changing num_rx_queues ixgbe: fix tx queue index Revert "rose: zero length frame filtering in af_rose.c" sfc: Use correct macro to set event bitfield sfc: Match calls to netif_napi_add() and netif_napi_del() bonding: Remove debug printk e1000/e1000: fix compile warning ehea: Fix incomplete conversion to net_device_ops ...
2009-04-14be2net: fix for default setting of pause auto-negotiationAjit Khaparde1-2/+2
This patch fixes the default value of pause auto-negotiation supported by PCS. Signed-off-by: Ajit Khaparde <ajitk@serverengines.com> Signed-off-by: David S. Miller <davem@davemloft.net>