Re: [PATCH] Search /lib/firmware/updates and /tmp/DD/lib/firmware/updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This look good to me.

On Mon, 2012-01-30 at 13:46 +0100, Martin Sivak wrote:
> New version of this patch, we need to prepend the paths.
> 
> Resolves: rhbz#784327
> ---
>  loader/driverdisk.c |    8 +++-----
>  loader/driverdisk.h |    1 +
>  loader/fwloader.c   |    7 +++++++
>  loader/fwloader.h   |    1 +
>  loader/loader.c     |    2 +-
>  5 files changed, 13 insertions(+), 6 deletions(-)
> 
> diff --git a/loader/driverdisk.c b/loader/driverdisk.c
> index 707c253..092de64 100644
> --- a/loader/driverdisk.c
> +++ b/loader/driverdisk.c
> @@ -300,7 +300,6 @@ static int loadDriverDisk(struct loaderData_s *loaderData, char *mntpt) {
>      /* FIXME moduleInfoSet modInfo = loaderData->modInfo; */
>      char file[200], dest[200], src[200];
>      char *title;
> -    char *fwdir = NULL;
>      struct moduleBallLocation * location;
>      struct stat sb;
>      static int disknum = 0;
> @@ -374,13 +373,12 @@ static int loadDriverDisk(struct loaderData_s *loaderData, char *mntpt) {
>        logMessage(ERROR, "Error running depmod -a for driverdisc no.%d", disknum);
>      }
>  
> -    checked_asprintf(&fwdir, DD_FIRMWARE);
> -    if (!access(fwdir, R_OK|X_OK)) {
> -        add_fw_search_dir(loaderData, fwdir);
> +    if (!access(DD_FIRMWARE, R_OK|X_OK)) {
> +        insert_fw_search_dir(loaderData, DD_FIRMWARE);
> +        insert_fw_search_dir(loaderData, DD_FIRMWARE_UPDATES);
>          stop_fw_loader(loaderData);
>          start_fw_loader(loaderData);
>      }
> -    free(fwdir);
>  
>      /* TODO generate and read module info
>       *
> diff --git a/loader/driverdisk.h b/loader/driverdisk.h
> index 4dc8685..d70fe49 100644
> --- a/loader/driverdisk.h
> +++ b/loader/driverdisk.h
> @@ -28,6 +28,7 @@
>  #define DD_EXTRACTED "/tmp/DD"
>  #define DD_MODULES "/tmp/DD/lib/modules"
>  #define DD_FIRMWARE "/tmp/DD/lib/firmware"
> +#define DD_FIRMWARE_UPDATES "/tmp/DD/lib/firmware/updates"
>  
>  extern char *ddFsTypes[];
>  
> diff --git a/loader/fwloader.c b/loader/fwloader.c
> index a91ff6b..902c63f 100644
> --- a/loader/fwloader.c
> +++ b/loader/fwloader.c
> @@ -604,6 +604,13 @@ void add_fw_search_dir(struct loaderData_s *loaderData, char *dir)
>              dir);
>  }
>  
> +void insert_fw_search_dir(struct loaderData_s *loaderData, char *dir)
> +{
> +    argz_insert(&loaderData->fw_search_pathz, &loaderData->fw_search_pathz_len,
> +                loaderData->fw_search_pathz, dir);
> +}
> +
> +
>  void do_fw_loader(struct loaderData_s *loaderData)
>  {
>      struct fw_loader fwl;
> diff --git a/loader/fwloader.h b/loader/fwloader.h
> index e0b0fe8..daa69ec 100644
> --- a/loader/fwloader.h
> +++ b/loader/fwloader.h
> @@ -26,6 +26,7 @@
>  
>  extern void set_fw_search_path(struct loaderData_s *loaderData, char *path);
>  extern void add_fw_search_dir(struct loaderData_s *loaderData, char *dir);
> +extern void insert_fw_search_dir(struct loaderData_s *loaderData, char *dir);
>  extern void start_fw_loader(struct loaderData_s *loaderData);
>  extern void stop_fw_loader(struct loaderData_s *loaderData);
>  
> diff --git a/loader/loader.c b/loader/loader.c
> index 177d8a3..5bbb7c1 100644
> --- a/loader/loader.c
> +++ b/loader/loader.c
> @@ -2079,7 +2079,7 @@ int main(int argc, char ** argv) {
>      }
>      if (hasGraphicalOverride())
>          flags |= LOADER_FLAGS_EARLY_NETWORKING;
> -    set_fw_search_path(&loaderData, "/firmware:/lib/firmware");
> +    set_fw_search_path(&loaderData, "/lib/firmware/updates:/firmware:/lib/firmware");
>      start_fw_loader(&loaderData);
>  
>      arg = "/lib/modules/module-info";

-- 
Vratislav Podzimek

Anaconda Rider | Red Hat, Inc. | Brno - Czech Republic

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list


[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux