MODULE_LICENSE("GPL");
 MODULE_ALIAS("prism54common");
 
+static int p54_sta_add_remove(struct ieee80211_hw *hw,
+                             struct ieee80211_vif *vif,
+                             struct ieee80211_sta *sta)
+{
+       struct p54_common *priv = hw->priv;
+
+       /*
+        * Notify the firmware that we don't want or we don't
+        * need to buffer frames for this station anymore.
+        */
+
+       p54_sta_unlock(priv, sta->addr);
+
+       return 0;
+}
+
 static void p54_sta_notify(struct ieee80211_hw *dev, struct ieee80211_vif *vif,
                              enum sta_notify_cmd notify_cmd,
                              struct ieee80211_sta *sta)
 {
        struct p54_common *priv = dev->priv;
-       switch (notify_cmd) {
-       case STA_NOTIFY_ADD:
-       case STA_NOTIFY_REMOVE:
-               /*
-                * Notify the firmware that we don't want or we don't
-                * need to buffer frames for this station anymore.
-                */
 
-               p54_sta_unlock(priv, sta->addr);
-               break;
+       switch (notify_cmd) {
        case STA_NOTIFY_AWAKE:
                /* update the firmware's filter table */
                p54_sta_unlock(priv, sta->addr);
        .remove_interface       = p54_remove_interface,
        .set_tim                = p54_set_tim,
        .sta_notify             = p54_sta_notify,
+       .sta_add                = p54_sta_add_remove,
+       .sta_remove             = p54_sta_add_remove,
        .set_key                = p54_set_key,
        .config                 = p54_config,
        .bss_info_changed       = p54_bss_info_changed,