Skip to content

Commit

Permalink
beceem: Add proper carrier and link management
Browse files Browse the repository at this point in the history
Start with carrier off.
Don't track up/down status in driver private flag.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
  • Loading branch information
Stephen Hemminger committed Nov 1, 2010
1 parent d7affd0 commit 2515ab6
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 4 deletions.
1 change: 0 additions & 1 deletion drivers/staging/bcm/Adapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,6 @@ struct _MINI_ADAPTER
int irq;
unsigned long chip_id;
unsigned int bFlashBoot;
unsigned int if_up;
// spinlock_t sleeper_lock;
atomic_t rdm_wrm_access;
atomic_t tx_rx_access;
Expand Down
3 changes: 1 addition & 2 deletions drivers/staging/bcm/Bcmnet.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ static INT bcm_open(struct net_device *dev)
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "======>");
if(Adapter->fw_download_done==FALSE)
return -EINVAL;
Adapter->if_up=1;
if(Adapter->LinkUpStatus == 1){
if(netif_queue_stopped(Adapter->dev)){
netif_carrier_on(Adapter->dev);
Expand All @@ -34,7 +33,6 @@ static INT bcm_close(struct net_device *dev)
PMINI_ADAPTER Adapter = GET_BCM_ADAPTER(dev);

BCM_DEBUG_PRINT(Adapter,DBG_TYPE_INITEXIT, DRV_ENTRY, DBG_LVL_ALL, "=====>");
Adapter->if_up=0;
if(!netif_queue_stopped(dev)) {
netif_carrier_off(dev);
netif_stop_queue(dev);
Expand Down Expand Up @@ -145,6 +143,7 @@ int register_networkdev(PMINI_ADAPTER Adapter)
net->ethtool_ops = &bcm_ethtool_ops;
net->mtu = MTU_SIZE; /* 1400 Bytes */
net->tx_queue_len = TX_QLEN;
netif_carrier_off(net);

SET_NETDEV_DEV(net, &uintf->dev);
SET_NETDEV_DEVTYPE(net, &wimax_type);
Expand Down
2 changes: 1 addition & 1 deletion drivers/staging/bcm/InterfaceRx.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ static void read_bulk_callback(struct urb *urb)
atomic_add(pLeader->PLength, &Adapter->GoodRxByteCount);
BCM_DEBUG_PRINT(psIntfAdapter->psAdapter,DBG_TYPE_RX, RX_DATA, DBG_LVL_ALL, "Recived Data pkt of len :0x%X", pLeader->PLength);

if(Adapter->if_up)
if(netif_running(Adapter->dev))
{
/* Moving ahead by ETH_HLEN to the data ptr as received from FW */
skb_pull(skb, ETH_HLEN);
Expand Down

0 comments on commit 2515ab6

Please sign in to comment.