}
 
        /* memory config */
-       mem_conf->num_stations = DEFAULT_NUM_STATIONS;
-       mem_conf->rx_mem_block_num = ACX_RX_MEM_BLOCKS;
-       mem_conf->tx_min_mem_block_num = ACX_TX_MIN_MEM_BLOCKS;
-       mem_conf->num_ssid_profiles = ACX_NUM_SSID_PROFILES;
+       mem_conf->num_stations = wl->conf.mem.num_stations;
+       mem_conf->rx_mem_block_num = wl->conf.mem.rx_block_num;
+       mem_conf->tx_min_mem_block_num = wl->conf.mem.tx_min_block_num;
+       mem_conf->num_ssid_profiles = wl->conf.mem.ssid_profiles;
        mem_conf->total_tx_descriptors = cpu_to_le32(ACX_TX_DESCRIPTORS);
 
        ret = wl1271_cmd_configure(wl, ACX_MEM_CFG, mem_conf,
        }
 
        /* memory config */
-       mem_conf->num_stations = DEFAULT_NUM_STATIONS;
-       mem_conf->rx_mem_block_num = ACX_RX_MEM_BLOCKS;
-       mem_conf->tx_min_mem_block_num = ACX_TX_MIN_MEM_BLOCKS;
-       mem_conf->num_ssid_profiles = ACX_NUM_SSID_PROFILES;
+       mem_conf->num_stations = wl->conf.mem.num_stations;
+       mem_conf->rx_mem_block_num = wl->conf.mem.rx_block_num;
+       mem_conf->tx_min_mem_block_num = wl->conf.mem.tx_min_block_num;
+       mem_conf->num_ssid_profiles = wl->conf.mem.ssid_profiles;
        mem_conf->total_tx_descriptors = cpu_to_le32(ACX_TX_DESCRIPTORS);
        mem_conf->dyn_mem_enable = wl->conf.mem.dynamic_memory;
        mem_conf->tx_free_req = wl->conf.mem.min_req_tx_blocks;
 
 
 #define DEFAULT_UCAST_PRIORITY          0
 #define DEFAULT_RX_Q_PRIORITY           0
-#define DEFAULT_NUM_STATIONS            1
 #define DEFAULT_RXQ_PRIORITY            0 /* low 0 .. 15 high  */
 #define DEFAULT_RXQ_TYPE                0x07    /* All frames, Data/Ctrl/Mgmt */
 #define TRACE_BUFFER_MAX_SIZE           256
        __le16 tx_compl_threshold;   /* number of packets */
 } __packed;
 
-#define ACX_RX_MEM_BLOCKS     70
-#define ACX_TX_MIN_MEM_BLOCKS 40
 #define ACX_TX_DESCRIPTORS    32
-#define ACX_NUM_SSID_PROFILES 1
 
 struct wl1271_acx_ap_config_memory {
        struct acx_header header;
 
 };
 
 struct conf_memory_settings {
+       /* Number of stations supported in IBSS mode */
+       u8 num_stations;
+
+       /* Number of ssid profiles used in IBSS mode */
+       u8 ssid_profiles;
+
+       /* Number of memory buffers allocated to rx pool */
+       u8 rx_block_num;
+
+       /* Minimum number of blocks allocated to tx pool */
+       u8 tx_min_block_num;
+
        /* Disable/Enable dynamic memory */
        u8 dynamic_memory;