/*
  * Re-calculate the size of private arguments
  */
-static int adjust_priv_size(__u16 args, union iwreq_data *wrqu)
+static int adjust_priv_size(__u16 args, struct iw_point *iwp)
 {
-       int     num = wrqu->data.length;
+       int     num = iwp->length;
        int     max = args & IW_PRIV_SIZE_MASK;
        int     type = (args & IW_PRIV_TYPE_MASK) >> 12;
 
                         * avoid leaking kernel bits outside. */
                        if (!(descr->get_args & IW_PRIV_SIZE_FIXED)) {
                                extra_size = adjust_priv_size(descr->get_args,
-                                                             &(iwr->u));
+                                                             &(iwr->u.data));
                        }
 
                        err = copy_to_user(iwr->u.data.pointer, extra,