]> err.no Git - linux-2.6/blobdiff - drivers/net/wireless/prism54/isl_ioctl.c
Merge branch 'merge-fixes' into devel
[linux-2.6] / drivers / net / wireless / prism54 / isl_ioctl.c
index 2d91a56d6a39c72c0d6a7ec20644a02d5e1d6045..e5b3c282009ce8c7824efbb102ae398cfce97ecc 100644 (file)
@@ -218,7 +218,7 @@ prism54_get_wireless_stats(struct net_device *ndev)
        islpci_private *priv = netdev_priv(ndev);
 
        /* If the stats are being updated return old data */
-       if (mutex_trylock(&priv->stats_lock) == 0) {
+       if (mutex_trylock(&priv->stats_lock)) {
                memcpy(&priv->iwstatistics, &priv->local_iwstatistics,
                       sizeof (struct iw_statistics));
                /* They won't be marked updated for the next time */
@@ -2081,6 +2081,7 @@ link_changed(struct net_device *ndev, u32 bitrate)
        islpci_private *priv = netdev_priv(ndev);
 
        if (bitrate) {
+               netif_carrier_on(ndev);
                if (priv->iw_mode == IW_MODE_INFRA) {
                        union iwreq_data uwrq;
                        prism54_get_wap(ndev, NULL, (struct sockaddr *) &uwrq,
@@ -2089,8 +2090,10 @@ link_changed(struct net_device *ndev, u32 bitrate)
                } else
                        send_simple_event(netdev_priv(ndev),
                                          "Link established");
-       } else
+       } else {
+               netif_carrier_off(ndev);
                send_simple_event(netdev_priv(ndev), "Link lost");
+       }
 }
 
 /* Beacon/ProbeResp payload header */