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