Changeset 053fc2b in mainline for uspace/drv/nic/ar9271/ar9271.c


Ignore:
Timestamp:
2015-04-10T13:52:11Z (10 years ago)
Author:
Jan Kolarik <kolarik@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a931b7b
Parents:
d7dadcb4
Message:

Locking, correctly disconnecting device, sending DHCP address discover after connecting to WiFi network

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/drv/nic/ar9271/ar9271.c

    rd7dadcb4 r053fc2b  
    105105static int ar9271_ieee80211_set_freq(ieee80211_dev_t *ieee80211_dev,
    106106        uint16_t freq);
    107 static int ar9271_ieee80211_bssid_change(ieee80211_dev_t *ieee80211_dev);
     107static int ar9271_ieee80211_bssid_change(ieee80211_dev_t *ieee80211_dev,
     108        bool connected);
    108109static int ar9271_ieee80211_key_config(ieee80211_dev_t *ieee80211_dev,
    109110        ieee80211_key_config_t *key_conf, bool insert);
     
    351352        ar9271_t *ar9271 = (ar9271_t *) ieee80211_get_specific(ieee80211_dev);
    352353       
    353         //hw_wakeup(ar9271);
    354        
    355354        wmi_send_command(ar9271->htc_device, WMI_DISABLE_INTR, NULL, 0, NULL);
    356355        wmi_send_command(ar9271->htc_device, WMI_DRAIN_TXQ_ALL, NULL, 0, NULL);
     
    379378}
    380379
    381 static int ar9271_ieee80211_bssid_change(ieee80211_dev_t *ieee80211_dev)
     380static int ar9271_ieee80211_bssid_change(ieee80211_dev_t *ieee80211_dev,
     381        bool connected)
    382382{
    383383        assert(ieee80211_dev);
     
    385385        ar9271_t *ar9271 = (ar9271_t *) ieee80211_get_specific(ieee80211_dev);
    386386
    387         /* Check if we are connected or disconnected. */
    388         if(ieee80211_is_connected(ieee80211_dev)) {
     387        if(connected) {
    389388                nic_address_t bssid;
    390389                ieee80211_query_bssid(ieee80211_dev, &bssid);
     
    433432{
    434433        assert(ieee80211_dev);
    435         assert(key_conf);
    436434       
    437435        ar9271_t *ar9271 = (ar9271_t *) ieee80211_get_specific(ieee80211_dev);
    438436       
    439         uint32_t key[5];
    440         uint32_t key_type;
    441         uint32_t reg_ptr;
    442         void *data_start;
    443        
    444437        if(insert) {
     438                assert(key_conf);
     439               
     440                uint32_t key[5];
     441                uint32_t key_type;
     442                uint32_t reg_ptr;
     443                void *data_start;
     444               
    445445                nic_address_t bssid;
    446446                ieee80211_query_bssid(ieee80211_dev, &bssid);
     
    520520                        ieee80211_setup_key_confirm(ieee80211_dev, true);
    521521        } else {
    522                 // TODO
     522                // TODO: Delete keys from device
     523                ieee80211_setup_key_confirm(ieee80211_dev, false);
    523524        }
    524525       
     
    562563                        data_header->keyix = AR9271_STA_KEY_INDEX;
    563564                        int sec_suite =
    564                                 ieee80211_get_security_suite(ieee80211_dev);
     565                                ieee80211_get_pairwise_security(ieee80211_dev);
    565566                        switch(sec_suite) {
    566567                                case IEEE80211_SECURITY_SUITE_WEP40:
Note: See TracChangeset for help on using the changeset viewer.