Messages in this thread | | | Date | Sun, 15 Mar 2015 08:07:09 -0400 | From | Mark Hounschell <> | Subject | Re: [PATCH v2] dgnc: Don't save boards in memory that have failed to initialize |
| |
On 03/14/2015 04:44 AM, Greg KH wrote: > On Fri, Mar 13, 2015 at 04:55:55PM -0400, Mark Hounschell wrote: >> On 03/12/2015 12:14 PM, Giedrius Statkevičius wrote: >>> On 2015.03.12 12:08, Greg KH wrote: >>>> On Mon, Mar 09, 2015 at 06:29:38PM +0200, Giedrius Statkevičius wrote: >>>>> Remove BOARD_FAILED and don't save dgnc_boards which failed to >>>>> initialize. >>>>> >>>>> Assign the result of kzalloc() to brd in dgnc_found_board() and only put >>>>> it in the dgnc_Board[] if it successfully initializes. Also, remove >>>>> BOARD_FAILED enum and all ifs that check for it. Finally, remove one >>>>> final place where state was set to BOARD_FAILED which was even redundant >>>>> before this patch. >>>>> >>>>> Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@gmail.com> >>>>> --- >>>>> v2: Remove "brd = dgnc_Board[dgnc_NumBoards];" line which I forgot to do >>>>> in the first version >>>>> >>>>> drivers/staging/dgnc/dgnc_driver.c | 20 ++------------------ >>>>> drivers/staging/dgnc/dgnc_driver.h | 3 +-- >>>>> drivers/staging/dgnc/dgnc_mgmt.c | 5 +---- >>>>> drivers/staging/dgnc/dgnc_tty.c | 8 -------- >>>>> 4 files changed, 4 insertions(+), 32 deletions(-) >>>>> >>>>> diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c >>>>> index fa1ee79..075727d 100644 >>>>> --- a/drivers/staging/dgnc/dgnc_driver.c >>>>> +++ b/drivers/staging/dgnc/dgnc_driver.c >>>>> @@ -401,8 +401,7 @@ static int dgnc_found_board(struct pci_dev *pdev, int id) >>>>> unsigned long flags; >>>>> >>>>> /* get the board structure and prep it */ >>>>> - dgnc_Board[dgnc_NumBoards] = kzalloc(sizeof(*brd), GFP_KERNEL); >>>>> - brd = dgnc_Board[dgnc_NumBoards]; >>>>> + brd = kzalloc(sizeof(*brd), GFP_KERNEL); >>>> >>>> You've done a great job here, but... >>>> >>>> Yeah, sorry... >>>> >>>> I really want to see this whole "static list of boards/cards" go away. >>>> There should not be any need for that in any in-kernel driver. Your >>>> patch here is a sign that things are really wrong with this whole static >>>> array mess. >>>> >>>> So could you do that instead? I don't want to take patches around this >>>> whole "board state" mess anymore, as it should all not be needed at all. >>>> >>>> If you need pointers on what needs to be done here, just let me know. >>>> >>>> thanks, >>>> >>>> greg k-h >>>> >>> >>> I can try :) But my main concern is the lack of dgnc driver maintainers >>> activity and that I don't own the hardware this driver is written for as >>> it's quite expensive (cheapest cards I've found start at 300$~) and I >>> can't afford it ATM. But I guess if I keep the patches small and logical >>> everything will be okay. >>> >> >> I am on the maintainers list and actually have hardware. I have just been so >> swamped the last few months that I haven't been able to do ANYTHING here. >> Even work on the dgap driver that I was working on, I just haven't had the >> time. I can tell you that the dgnc driver does NOT work at all and hasn't >> worked since it was introduced into staging by Greg. > > Really? It's always been broken? Why don't we just delete the thing? >
Well, broken might not be the best word. I should have just said, doesn't work for me. It did work on a 3.4 kernel when I provided it to you. I have spent no time as to why but will take a look on Monday.
>> Greg, while I'm here, how can we get Digi firmware into the kernel firmware >> tree? The dgap card is useless without it and I suspect the dgnc is as well. > > Submit a patch to the linux-firmware git tree with the firmware in it. >
I don't know if the binary blobs are GPL compatable?
Regards Mark
| |